X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fapi%2FAbstractTypeAwareBuilder.java;h=3e8dc6c8b09f6c817c568e90f969789be1c99592;hp=05ef4c5330634fd376cce90059bfeee97535f95e;hb=88187167a1b7928602fd8d72cb7d4dc2b38dfa70;hpb=24d031d133362f3b42eb2bc04173ad0199d39a51 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java index 05ef4c5330..3e8dc6c8b0 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java @@ -7,15 +7,50 @@ */ package org.opendaylight.controller.yang.parser.builder.api; +import java.util.ArrayList; +import java.util.List; + +import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.TypeDefinition; +import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; +import org.opendaylight.controller.yang.parser.builder.impl.UnknownSchemaNodeBuilder; /** * Basic implementation for TypeAwareBuilder builders. */ public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder { - + protected final int line; + protected final QName qname; + protected Builder parent; protected TypeDefinition type; protected TypeDefinitionBuilder typedef; + protected List unknownNodes; + protected final List addedUnknownNodes = new ArrayList(); + + public AbstractTypeAwareBuilder(final int line, final QName qname) { + this.line = line; + this.qname = qname; + } + + @Override + public int getLine() { + return line; + } + + @Override + public Builder getParent() { + return parent; + } + + @Override + public void setParent(final Builder parent) { + this.parent = parent; + } + + @Override + public QName getQName() { + return qname; + } @Override public TypeDefinition getType() { @@ -39,4 +74,18 @@ public abstract class AbstractTypeAwareBuilder implements TypeAwareBuilder { this.type = null; } + @Override + public List getUnknownNodeBuilders() { + return addedUnknownNodes; + } + + @Override + public void addUnknownNodeBuilder(UnknownSchemaNodeBuilder unknownNode) { + addedUnknownNodes.add(unknownNode); + } + + public void setUnknownNodes(List unknownNodes) { + this.unknownNodes = unknownNodes; + } + }