X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-generator-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fgenerator%2Fimpl%2FEnumerationBuilderImpl.java;h=45d363db39ee70acfdde87409afe57c65542b13b;hb=4221068644c7e8d08880b4d54e2a099a646796b9;hp=4dde4599118343649019b9bf1331e8ed2073f5e3;hpb=f9de1cd89c17888a2bd02486d5f7519f0b391bba;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-generator-impl/src/main/java/org/opendaylight/controller/sal/binding/generator/impl/EnumerationBuilderImpl.java b/opendaylight/sal/yang-prototype/code-generator/binding-generator-impl/src/main/java/org/opendaylight/controller/sal/binding/generator/impl/EnumerationBuilderImpl.java index 4dde459911..45d363db39 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-generator-impl/src/main/java/org/opendaylight/controller/sal/binding/generator/impl/EnumerationBuilderImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-generator-impl/src/main/java/org/opendaylight/controller/sal/binding/generator/impl/EnumerationBuilderImpl.java @@ -11,15 +11,18 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.opendaylight.controller.sal.binding.model.api.AnnotationType; import org.opendaylight.controller.sal.binding.model.api.Enumeration; import org.opendaylight.controller.sal.binding.model.api.Type; +import org.opendaylight.controller.sal.binding.model.api.type.builder.AnnotationTypeBuilder; import org.opendaylight.controller.sal.binding.model.api.type.builder.EnumBuilder; final class EnumerationBuilderImpl implements EnumBuilder { private final String packageName; private final String name; private final List values; - + private final List annotationBuilders = new ArrayList(); + public EnumerationBuilderImpl(final String packageName, final String name) { super(); this.packageName = packageName; @@ -37,6 +40,17 @@ final class EnumerationBuilderImpl implements EnumBuilder { return name; } + @Override + public AnnotationTypeBuilder addAnnotation(final String packageName, final String name) { + if (packageName != null && name != null) { + final AnnotationTypeBuilder builder = new AnnotationTypeBuilderImpl(packageName, name); + if (annotationBuilders.add(builder)) { + return builder; + } + } + return null; + } + @Override public void addValue(final String name, final Integer value) { values.add(new EnumPairImpl(name, value)); @@ -44,9 +58,9 @@ final class EnumerationBuilderImpl implements EnumBuilder { @Override public Enumeration toInstance(final Type definingType) { - return new EnumerationImpl(definingType, packageName, name, values); + return new EnumerationImpl(definingType, annotationBuilders, packageName, name, values); } - + /* * (non-Javadoc) * @@ -191,7 +205,7 @@ final class EnumerationBuilderImpl implements EnumBuilder { @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("EnumPairImpl [name="); + builder.append("EnumPair [name="); builder.append(name); builder.append(", value="); builder.append(value); @@ -206,12 +220,18 @@ final class EnumerationBuilderImpl implements EnumBuilder { private final String packageName; private final String name; private final List values; - + private List annotations = new ArrayList(); + public EnumerationImpl(final Type definingType, + final List annotationBuilders, final String packageName, final String name, final List values) { super(); this.definingType = definingType; + for (final AnnotationTypeBuilder builder : annotationBuilders) { + annotations.add(builder.toInstance()); + } + this.annotations = Collections.unmodifiableList(annotations); this.packageName = packageName; this.name = name; this.values = Collections.unmodifiableList(values); @@ -236,6 +256,11 @@ final class EnumerationBuilderImpl implements EnumBuilder { public List getValues() { return values; } + + @Override + public List getAnnotations() { + return annotations; + } @Override public String toFormattedString() { @@ -279,17 +304,6 @@ final class EnumerationBuilderImpl implements EnumBuilder { result = prime * result + ((values == null) ? 0 : values.hashCode()); - if (definingType != null) { - result = prime - * result - + ((definingType.getPackageName() == null) ? 0 - : definingType.getPackageName().hashCode()); - result = prime - * result - + ((definingType.getName() == null) ? 0 : definingType - .getName().hashCode()); - } - return result; } @@ -331,18 +345,6 @@ final class EnumerationBuilderImpl implements EnumBuilder { } else if (!values.equals(other.values)) { return false; } - if (definingType == null) { - if (other.definingType != null) { - return false; - } - } else if ((definingType != null) && (other.definingType != null)) { - if (!definingType.getPackageName().equals( - other.definingType.getPackageName()) - && !definingType.getName().equals( - other.definingType.getName())) { - return false; - } - } return true; } @@ -354,7 +356,7 @@ final class EnumerationBuilderImpl implements EnumBuilder { @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("EnumerationImpl [packageName="); + builder.append("Enumeration [packageName="); builder.append(packageName); if (definingType != null) { builder.append(", definingType=");