Add DataSchemaContextNode.PathMixin 83/106083/6
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 20 May 2023 19:41:37 +0000 (21:41 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 20 May 2023 21:53:23 +0000 (23:53 +0200)
commit953fe27d7ab040ed510a5101133610012e48e090
tree265db70497d315b7e3606e0b7b1c052bb51920ee
parent147fe541547364d1d1fe0d1fac77f1307722219f
Add DataSchemaContextNode.PathMixin

Remove isMixin() which provides a dummy boolean. We introduce PathMixin,
which guarantees a PathArgument without relying on
DataSchemaContextNode.pathArgument().

Partially seal the implementation hierarchy, making it clear that
PathMixin cannot be freely mixed in by random outsiders -- it really is
only provided by AbstractMixinContextNode.

This also makes it clear that all mixins are NodeIdentifiers, so we
centralize their creation in AbstractMixinContextNode.

JIRA: YANGTOOLS-1413
Change-Id: Ie834ac288658cebe3363ae051f004db4b0a7df75
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/AbstractDataSchemaContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/AbstractListLikeContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/AbstractMixinContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/ChoiceNodeContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/UnkeyedListMixinContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/UnorderedLeafListMixinContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/impl/legacy/UnorderedMapMixinContextNode.java