X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FLeafListSchemaNodeBuilder.java;h=ea7bbd9772746f115759b0ddd5d5ebe588f4147e;hb=36368e8e6f9a791c355a7e61010a04e6a4f347d4;hp=adea7911f4653b2e12cf02b57d449516f32d2102;hpb=02439df02288c8821da86c82d0f13d669a0ea506;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java index adea7911f4..ea7bbd9772 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java @@ -20,46 +20,45 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.parser.builder.api.AbstractTypeAwareBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; -import org.opendaylight.yangtools.yang.parser.builder.api.GroupingMember; import org.opendaylight.yangtools.yang.parser.util.Comparators; -public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder, - GroupingMember { +public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements DataSchemaNodeBuilder { private boolean isBuilt; private final LeafListSchemaNodeImpl instance; // SchemaNode args private SchemaPath schemaPath; - private String description; - private String reference; - private Status status = Status.CURRENT; // DataSchemaNode args - private boolean augmenting; - private boolean addedByUses; - private Boolean configuration; private final ConstraintsBuilder constraints; - // LeafListSchemaNode args - private boolean userOrdered; - public LeafListSchemaNodeBuilder(final String moduleName, final int line, final QName qname, - final SchemaPath schemaPath) { + public LeafListSchemaNodeBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path) { super(moduleName, line, qname); - this.schemaPath = schemaPath; - instance = new LeafListSchemaNodeImpl(qname); + this.schemaPath = path; + instance = new LeafListSchemaNodeImpl(qname, path); constraints = new ConstraintsBuilder(moduleName, line); } + public LeafListSchemaNodeBuilder(final String moduleName, final int line, final QName qname, final SchemaPath path, final LeafListSchemaNode base) { + super(moduleName, line, qname); + schemaPath = path; + instance = new LeafListSchemaNodeImpl(qname, path); + constraints = new ConstraintsBuilder(moduleName, line, base.getConstraints()); + + instance.description = base.getDescription(); + instance.reference = base.getReference(); + instance.status = base.getStatus(); + instance.augmenting = base.isAugmenting(); + instance.addedByUses = base.isAddedByUses(); + instance.configuration = base.isConfiguration(); + instance.constraintsDef = base.getConstraints(); + this.type = base.getType(); + instance.userOrdered = base.isUserOrdered(); + instance.unknownNodes.addAll(base.getUnknownSchemaNodes()); + } + @Override public LeafListSchemaNode build() { if (!isBuilt) { instance.setConstraints(constraints.build()); - instance.setPath(schemaPath); - instance.setDescription(description); - instance.setReference(reference); - instance.setStatus(status); - instance.setAugmenting(augmenting); - instance.setAddedByUses(addedByUses); - instance.setConfiguration(configuration); - instance.setUserOrdered(userOrdered); if (type == null) { instance.setType(typedef.build()); @@ -68,95 +67,87 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im } // UNKNOWN NODES - if (unknownNodes == null) { - unknownNodes = new ArrayList(); - for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { - unknownNodes.add(b.build()); - } - Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); + for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { + unknownNodes.add(b.build()); } - instance.setUnknownSchemaNodes(unknownNodes); + Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); + instance.addUnknownSchemaNodes(unknownNodes); isBuilt = true; } return instance; } - @Override - public void setQName(QName qname) { - this.qname = qname; - } - @Override public SchemaPath getPath() { return schemaPath; } @Override - public void setPath(final SchemaPath schemaPath) { - this.schemaPath = schemaPath; + public void setPath(SchemaPath path) { + instance.path = path; } @Override public String getDescription() { - return description; + return instance.description; } @Override public void setDescription(final String description) { - this.description = description; + instance.description = description; } @Override public String getReference() { - return reference; + return instance.reference; } @Override - public void setReference(String reference) { - this.reference = reference; + public void setReference(final String reference) { + instance.reference = reference; } @Override public Status getStatus() { - return status; + return instance.status; } @Override public void setStatus(Status status) { if (status != null) { - this.status = status; + instance.status = status; } } @Override public boolean isAugmenting() { - return augmenting; + return instance.augmenting; } @Override public void setAugmenting(boolean augmenting) { - this.augmenting = augmenting; + instance.augmenting = augmenting; } @Override public boolean isAddedByUses() { - return addedByUses; + return instance.addedByUses; } @Override public void setAddedByUses(final boolean addedByUses) { - this.addedByUses = addedByUses; + instance.addedByUses = addedByUses; } @Override public Boolean isConfiguration() { - return configuration; + return instance.configuration; } @Override public void setConfiguration(Boolean configuration) { - this.configuration = configuration; + instance.configuration = configuration; } @Override @@ -165,11 +156,11 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im } public boolean isUserOrdered() { - return userOrdered; + return instance.userOrdered; } public void setUserOrdered(final boolean userOrdered) { - this.userOrdered = userOrdered; + instance.userOrdered = userOrdered; } @Override @@ -199,11 +190,11 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im } else if (!schemaPath.equals(other.schemaPath)) { return false; } - if (parent == null) { - if (other.parent != null) { + if (parentBuilder == null) { + if (other.parentBuilder != null) { return false; } - } else if (!parent.equals(other.parent)) { + } else if (!parentBuilder.equals(other.parentBuilder)) { return false; } return true; @@ -226,10 +217,11 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im private ConstraintDefinition constraintsDef; private TypeDefinition type; private boolean userOrdered; - private List unknownNodes = Collections.emptyList(); + private final List unknownNodes = new ArrayList<>(); - private LeafListSchemaNodeImpl(final QName qname) { + private LeafListSchemaNodeImpl(final QName qname, final SchemaPath path) { this.qname = qname; + this.path = path; } @Override @@ -242,64 +234,36 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im return path; } - private void setPath(final SchemaPath path) { - this.path = path; - } - @Override public String getDescription() { return description; } - private void setDescription(String description) { - this.description = description; - } - @Override public String getReference() { return reference; } - private void setReference(String reference) { - this.reference = reference; - } - @Override public Status getStatus() { return status; } - private void setStatus(Status status) { - this.status = status; - } - @Override public boolean isAugmenting() { return augmenting; } - private void setAugmenting(boolean augmenting) { - this.augmenting = augmenting; - } - @Override public boolean isAddedByUses() { return addedByUses; } - private void setAddedByUses(final boolean addedByUses) { - this.addedByUses = addedByUses; - } - @Override public boolean isConfiguration() { return configuration; } - private void setConfiguration(boolean configuration) { - this.configuration = configuration; - } - @Override public ConstraintDefinition getConstraints() { return constraintsDef; @@ -323,18 +287,14 @@ public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder im return userOrdered; } - private void setUserOrdered(boolean userOrdered) { - this.userOrdered = userOrdered; - } - @Override public List getUnknownSchemaNodes() { - return unknownNodes; + return Collections.unmodifiableList(unknownNodes); } - private void setUnknownSchemaNodes(List unknownNodes) { + private void addUnknownSchemaNodes(List unknownNodes) { if (unknownNodes != null) { - this.unknownNodes = unknownNodes; + this.unknownNodes.addAll(unknownNodes); } }