X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-generator-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fbinding%2Fgenerator%2Futil%2Fgenerated%2Ftype%2Fbuilder%2FGeneratedTypeBuilderImpl.java;h=46b5cf46a8141ca871ef3abbe1d0ddd70eecbdac;hp=deeda771b76b2abd3f45422f260ffb0771529877;hb=1df98168ffe7acd9dd908fde4782dc499c5e2d5a;hpb=7ca1c91122b68d3d7c3ef403114cf4af95174230 diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTypeBuilderImpl.java b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTypeBuilderImpl.java index deeda771b7..46b5cf46a8 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTypeBuilderImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTypeBuilderImpl.java @@ -29,10 +29,11 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { private String comment = ""; private final String name; private final List annotationBuilders = new ArrayList(); + private final List implementsTypes = new ArrayList(); private final List enumDefinitions = new ArrayList(); private final List constantDefintions = new ArrayList(); private final List methodDefinitions = new ArrayList(); - + public GeneratedTypeBuilderImpl(final String packageName, final String name) { this.packageName = packageName; this.name = name; @@ -95,13 +96,21 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { return builder; } + @Override + public boolean addImplementsType(final GeneratedType genType) { + if (genType != null) { + return implementsTypes.add(genType); + } + return false; + } + @Override public GeneratedType toInstance() { return new GeneratedTypeImpl(this, packageName, name, comment, - annotationBuilders, enumDefinitions, constantDefintions, + annotationBuilders, implementsTypes, enumDefinitions, constantDefintions, methodDefinitions); } - + private static final class GeneratedTypeImpl implements GeneratedType { private final Type parent; @@ -109,6 +118,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { private final String name; private final String comment; private final List annotations; + private final List implementsTypes; private final List enumDefinitions; private final List constantDefintions; private final List methodDefinitions; @@ -116,6 +126,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { public GeneratedTypeImpl(final Type parent, final String packageName, final String name, final String comment, final List annotationBuilders, + final List implementsTypes, final List enumBuilders, final List constantBuilders, final List methodBuilders) { @@ -125,6 +136,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { this.name = name; this.comment = comment; this.annotations = toUnmodifiableAnnotations(annotationBuilders); + this.implementsTypes = Collections.unmodifiableList(implementsTypes); this.constantDefintions = toUnmodifiableConstants(constantBuilders); this.enumDefinitions = toUnmodifiableEnums(enumBuilders); this.methodDefinitions = toUnmodifiableMethods(methodBuilders); @@ -190,7 +202,12 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder { public List getAnnotations() { return annotations; } - + + @Override + public List getImplements() { + return implementsTypes; + } + @Override public List getEnumDefintions() { return enumDefinitions;