X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fmodel%2Fparser%2Fbuilder%2Fimpl%2FUnionTypeBuilder.java;h=50a7a3a1f01a2bf51d1745b04562f62c3a8a57a8;hb=bc395f78e1b7092d51348b8acac4cc83c90ab9ba;hp=265c94d601c1077c363ac73845fba9c1758c0e4e;hpb=c8b79431119d6952b60a092e89727aa648a89bdd;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/UnionTypeBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/UnionTypeBuilder.java index 265c94d601..50a7a3a1f0 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/UnionTypeBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/UnionTypeBuilder.java @@ -8,17 +8,29 @@ package org.opendaylight.controller.yang.model.parser.builder.impl; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import org.opendaylight.controller.model.util.UnionType; import org.opendaylight.controller.yang.common.QName; +import org.opendaylight.controller.yang.model.api.SchemaPath; +import org.opendaylight.controller.yang.model.api.Status; import org.opendaylight.controller.yang.model.api.TypeDefinition; +import org.opendaylight.controller.yang.model.api.type.LengthConstraint; +import org.opendaylight.controller.yang.model.api.type.PatternConstraint; +import org.opendaylight.controller.yang.model.api.type.RangeConstraint; +import org.opendaylight.controller.yang.model.parser.builder.api.AbstractTypeAwareBuilder; import org.opendaylight.controller.yang.model.parser.builder.api.Builder; -import org.opendaylight.controller.yang.model.parser.builder.api.TypeAwareBuilder; import org.opendaylight.controller.yang.model.parser.builder.api.TypeDefinitionBuilder; +import org.opendaylight.controller.yang.model.util.UnionType; -public class UnionTypeBuilder implements TypeAwareBuilder, TypeDefinitionBuilder, Builder { - +/** + * Builder for YANG union type. User can add type to this union as + * TypeDefinition object (resolved type) or in form of TypeDefinitionBuilder. + * When build is called, types in builder form will be built and add to resolved + * types. + */ +public class UnionTypeBuilder extends AbstractTypeAwareBuilder implements + TypeDefinitionBuilder, Builder { private final List> types; private final List typedefs; private final UnionType instance; @@ -35,48 +47,170 @@ public class UnionTypeBuilder implements TypeAwareBuilder, TypeDefinitionBuilder @Override public TypeDefinition getType() { - return instance; + return null; + } + + public List getTypedefs() { + return Collections.unmodifiableList(typedefs); + } + + @Override + public TypeDefinitionBuilder getTypedef() { + return null; } @Override - public void setType(TypeDefinition type) { + public void setType(final TypeDefinition type) { types.add(type); } - public void addType(TypeDefinitionBuilder tdb) { + @Override + public void setType(final TypeDefinitionBuilder tdb) { typedefs.add(tdb); } @Override public UnionType build() { - for(TypeDefinitionBuilder tdb : typedefs) { + for (TypeDefinitionBuilder tdb : typedefs) { types.add(tdb.build()); } return instance; } + @Override + public void setPath(final SchemaPath schemaPath) { + throw new IllegalStateException("Can not set path to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public void setDescription(final String description) { + throw new IllegalStateException("Can not set description to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public void setReference(final String reference) { + throw new IllegalStateException("Can not set reference to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public void setStatus(final Status status) { + throw new IllegalStateException("Can not set status to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) { + throw new IllegalStateException("Can not add unknown node to " + + UnionTypeBuilder.class.getSimpleName()); + } + @Override public QName getQName() { - // TODO Auto-generated method stub return null; } @Override - public TypeDefinition getBaseType() { - // TODO Auto-generated method stub + public SchemaPath getPath() { return null; } @Override - public void setUnits(String units) { - // TODO Auto-generated method stub + public String getDescription() { + return null; + } + @Override + public String getReference() { + return null; + } + + @Override + public Status getStatus() { + return null; + } + + @Override + public List getRanges() { + return Collections.emptyList(); + } + + @Override + public void setRanges(List ranges) { + throw new IllegalStateException("Can not set ranges to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public List getLengths() { + return Collections.emptyList(); + } + + @Override + public void setLengths(List lengths) { + throw new IllegalStateException("Can not set lengths to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public List getPatterns() { + return Collections.emptyList(); + } + + @Override + public void setPatterns(List patterns) { + throw new IllegalStateException("Can not set patterns to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public Integer getFractionDigits() { + return null; + } + + @Override + public void setFractionDigits(Integer fractionDigits) { + throw new IllegalStateException("Can not set fraction digits to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public List getUnknownNodes() { + return Collections.emptyList(); + } + + @Override + public Object getDefaultValue() { + return null; } @Override public void setDefaultValue(Object defaultValue) { - // TODO Auto-generated method stub + throw new IllegalStateException("Can not set default value to " + + UnionTypeBuilder.class.getSimpleName()); + } + @Override + public String getUnits() { + return null; + } + + @Override + public void setUnits(String units) { + throw new IllegalStateException("Can not set units to " + + UnionTypeBuilder.class.getSimpleName()); + } + + @Override + public String toString() { + final StringBuilder result = new StringBuilder( + UnionTypeBuilder.class.getSimpleName() + "["); + result.append(", types=" + types); + result.append(", typedefs=" + typedefs); + result.append("]"); + return result.toString(); } }