Add NormalizedNode.BuilderFactory 05/109405/11
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 22 Dec 2023 01:18:51 +0000 (02:18 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 23 Dec 2023 15:54:19 +0000 (16:54 +0100)
commit76826832f88746db23040783839e5920e4b31f58
tree22cc67d152827e33f1139de0e0c6cb56bb8aa8e1
parentc8c99dd3f7c8f30923bda0128947d542c2a9dad3
Add NormalizedNode.BuilderFactory

Add a centralized interface for creating all know builder types. This
allows us to decouple most call sides from Builders/ImmutableNodes,
directly tying into a provider.

This decoupling can be used to further promote constructs, as their
dependency on ImmutableNodes/Builders can be indirected through this
factory.

JIRA: YANGTOOLS-1259
Change-Id: Ic68d84501b1d0e8ad3110ae8f1ece63c25c59ec1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/LeafNode.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNode.java
data/yang-data-impl/pom.xml
data/yang-data-impl/src/main/java/module-info.java
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableBuilderFactory.java [new file with mode: 0644]
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNodes.java
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ReusableImmutableNormalizedNodeStreamWriter.java
data/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableUserLeafSetNodeBuilder.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java