X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2FBuilders.java;h=af4dc693168610c3a12d433e395f0486a33675eb;hb=6d818dcbe5187d15a46cced7893be28df1cec725;hp=09823823630f7b4ca9e52b57d8c0c4886b099fca;hpb=baf52912531d7e673bfe8aa633223e5d5f797d02;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java index 0982382363..af4dc69316 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/Builders.java @@ -7,84 +7,215 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.*; +import javax.xml.transform.dom.DOMSource; +import org.opendaylight.yangtools.odlext.model.api.YangModeledAnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode; +import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; +import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; +import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; +import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; +import org.opendaylight.yangtools.yang.data.api.schema.MapNode; +import org.opendaylight.yangtools.yang.data.api.schema.OrderedMapNode; +import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; +import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode; +import org.opendaylight.yangtools.yang.data.api.schema.YangModeledAnyXmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.*; -import org.opendaylight.yangtools.yang.model.api.*; - -public class Builders { - - public static NormalizedNodeBuilder> leafBuilder() { +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAnyXmlNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAnyXmlNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAnydataNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAugmentationNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAugmentationNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetEntryNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetEntryNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedLeafSetNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedLeafSetNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedMapNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableOrderedMapNodeSchemaAwareBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListEntryNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableYangModeledAnyXmlNodeBuilder; +import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; +import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; + +public final class Builders { + + private Builders() { + throw new UnsupportedOperationException("Utilities class should not be instantiated"); + } + + public static NormalizedNodeBuilder> leafBuilder() { return ImmutableLeafNodeBuilder.create(); } - public static NormalizedNodeBuilder> leafBuilder( - LeafSchemaNode schema) { + public static NormalizedNodeBuilder> leafBuilder( + final LeafSchemaNode schema) { return ImmutableLeafNodeSchemaAwareBuilder.create(schema); } - public static NormalizedNodeBuilder> leafSetEntryBuilder() { + public static NormalizedNodeBuilder> leafSetEntryBuilder() { return ImmutableLeafSetEntryNodeBuilder.create(); } - public static NormalizedNodeBuilder> leafSetEntryBuilder( - LeafListSchemaNode schema) { + public static NormalizedNodeBuilder> leafSetEntryBuilder( + final LeafListSchemaNode schema) { return ImmutableLeafSetEntryNodeSchemaAwareBuilder.create(schema); } + // FIXME: 5.0.0 should not be here + public static NormalizedNodeBuilder anyXmlBuilder() { + return ImmutableAnyXmlNodeBuilder.create(); + } + + // FIXME: 5.0.0 should not be here + public static NormalizedNodeBuilder anyXmlBuilder( + final AnyXmlSchemaNode schema) { + return ImmutableAnyXmlNodeSchemaAwareBuilder.create(schema); + } + + // FIXME: 5.0.0 should not be here + public static DataContainerNodeBuilder yangModeledAnyXmlBuilder( + final YangModeledAnyXmlSchemaNode schema) { + return ImmutableYangModeledAnyXmlNodeBuilder.create(schema); + } + + public static NormalizedNodeBuilder> anydataBuilder( + final Class objectModel) { + return ImmutableAnydataNodeBuilder.create(objectModel); + } + + public static ListNodeBuilder> orderedLeafSetBuilder() { + return ImmutableOrderedLeafSetNodeBuilder.create(); + } + + public static ListNodeBuilder> orderedLeafSetBuilder(final LeafListSchemaNode schema) { + return ImmutableOrderedLeafSetNodeSchemaAwareBuilder.create(schema); + } + public static ListNodeBuilder> leafSetBuilder() { return ImmutableLeafSetNodeBuilder.create(); } - public static ListNodeBuilder> leafSetBuilder(LeafListSchemaNode schema) { + public static ListNodeBuilder> leafSetBuilder(final LeafSetNode node) { + return ImmutableLeafSetNodeBuilder.create(node); + } + + public static ListNodeBuilder> leafSetBuilder(final LeafListSchemaNode schema) { return ImmutableLeafSetNodeSchemaAwareBuilder.create(schema); } - public static DataContainerNodeBuilder containerBuilder() { + public static ListNodeBuilder> leafSetBuilder(final LeafListSchemaNode schema, + final LeafSetNode node) { + return ImmutableLeafSetNodeSchemaAwareBuilder.create(schema, node); + } + + public static DataContainerNodeBuilder containerBuilder() { return ImmutableContainerNodeBuilder.create(); } - public static DataContainerNodeBuilder containerBuilder( - ContainerSchemaNode schema) { + public static DataContainerNodeBuilder containerBuilder( + final ContainerNode node) { + return ImmutableContainerNodeBuilder.create(node); + } + + public static DataContainerNodeBuilder containerBuilder( + final ContainerSchemaNode schema) { return ImmutableContainerNodeSchemaAwareBuilder.create(schema); } - public static DataContainerNodeBuilder mapEntryBuilder() { + public static DataContainerNodeBuilder containerBuilder( + final ContainerSchemaNode schema, final ContainerNode node) { + return ImmutableContainerNodeSchemaAwareBuilder.create(schema, node); + } + + public static DataContainerNodeBuilder mapEntryBuilder() { return ImmutableMapEntryNodeBuilder.create(); } - public static DataContainerNodeBuilder mapEntryBuilder( - ListSchemaNode schema) { + public static DataContainerNodeBuilder mapEntryBuilder( + final MapEntryNode mapEntryNode) { + return ImmutableMapEntryNodeBuilder.create(mapEntryNode); + } + + public static DataContainerNodeBuilder mapEntryBuilder( + final ListSchemaNode schema) { return ImmutableMapEntryNodeSchemaAwareBuilder.create(schema); } + public static CollectionNodeBuilder orderedMapBuilder() { + return ImmutableOrderedMapNodeBuilder.create(); + } + + public static CollectionNodeBuilder orderedMapBuilder(final ListSchemaNode schema) { + return ImmutableOrderedMapNodeSchemaAwareBuilder.create(schema); + } + + public static CollectionNodeBuilder unkeyedListBuilder() { + return ImmutableUnkeyedListNodeBuilder.create(); + } + public static CollectionNodeBuilder mapBuilder() { return ImmutableMapNodeBuilder.create(); } - public static CollectionNodeBuilder mapBuilder(ListSchemaNode schema) { + public static CollectionNodeBuilder mapBuilder(final MapNode node) { + return ImmutableMapNodeBuilder.create(node); + } + + public static CollectionNodeBuilder mapBuilder(final ListSchemaNode schema) { return ImmutableMapNodeSchemaAwareBuilder.create(schema); } - public static DataContainerNodeBuilder augmentationBuilder() { + public static CollectionNodeBuilder mapBuilder(final ListSchemaNode schema, + final MapNode node) { + return ImmutableMapNodeSchemaAwareBuilder.create(schema, node); + } + + public static DataContainerNodeBuilder augmentationBuilder() { return ImmutableAugmentationNodeBuilder.create(); } - public static DataContainerNodeBuilder augmentationBuilder(AugmentationSchema schema) { + public static DataContainerNodeBuilder augmentationBuilder( + final AugmentationSchemaNode schema) { return ImmutableAugmentationNodeSchemaAwareBuilder.create(schema); } - public static DataContainerNodeBuilder choiceBuilder() { + public static DataContainerNodeBuilder choiceBuilder() { return ImmutableChoiceNodeBuilder.create(); } - public static DataContainerNodeBuilder choiceBuilder(org.opendaylight.yangtools.yang.model.api.ChoiceNode schema) { + public static DataContainerNodeBuilder choiceBuilder(final ChoiceSchemaNode schema) { return ImmutableChoiceNodeSchemaAwareBuilder.create(schema); } + public static DataContainerNodeBuilder unkeyedListEntryBuilder() { + return ImmutableUnkeyedListEntryNodeBuilder.create(); + } }