Clean up StatementDefinition argument definition interface 43/81043/8
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 20 Mar 2019 15:08:28 +0000 (16:08 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 22 Mar 2019 19:02:32 +0000 (19:02 +0000)
commit7ba42476ebbe233c6118dd6e7a35ac02fa8fed97
treea355f87a6ea134d52bd8d956d3e3ef17b9646c22
parente697881cdb1d4aa085a54200a1d35cc3d79895cf
Clean up StatementDefinition argument definition interface

This makes it impossible for implementations to present a wrong
argument definition by encapsulating it in ArgumentDefinition.

To simplify implementations, an AbstractStatementDefinition class
is provided, which keeps the two components decomposed and creates
the definition on demand.

Change-Id: If941eb697ebfd53540da54074cba6018f4172452
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
21 files changed:
yang/odlext-model-api/src/main/java/org/opendaylight/yangtools/odlext/model/api/OpenDaylightExtensionsStatements.java
yang/openconfig-model-api/src/main/java/org/opendaylight/yangtools/openconfig/model/api/OpenConfigStatements.java
yang/rfc6536-model-api/src/main/java/org/opendaylight/yangtools/rfc6536/model/api/NACMStatements.java
yang/rfc7952-model-api/src/main/java/org/opendaylight/yangtools/rfc7952/model/api/MetadataStatements.java
yang/rfc8040-model-api/src/main/java/org/opendaylight/yangtools/rfc8040/model/api/YangDataStatements.java
yang/rfc8528-model-api/src/main/java/org/opendaylight/yangtools/rfc8528/model/api/SchemaMountStatements.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/YangStmtMapping.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/AbstractStatementDefinition.java [new file with mode: 0644]
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/ArgumentDefinition.java [new file with mode: 0644]
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/DefaultStatementDefinition.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/StatementDefinition.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java
yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinXMLEventReader.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java
yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementDefinitionContext.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinStatementStreamSource.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ArgumentUtils.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ModelDefinedStatementDefinition.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java
yang/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionsMapping.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupport.java