Code generator prototype - Binding specification v2
[mdsal.git] / binding2 / mdsal-binding2-generator-util / src / main / java / org / opendaylight / mdsal / binding / javav2 / generator / util / generated / type / builder / AbstractGeneratedType.java
index c8768a336be56c74cca80aedcdb69272567ccdf3..752cac29ce553ff5b81cb1bf3fdc3814449d8672 100644 (file)
@@ -33,6 +33,7 @@ import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.MethodSignat
 abstract class AbstractGeneratedType extends AbstractBaseType implements GeneratedType {
 
     private final Type parent;
+    private final Type parentTypeForBuilder;
     private final String comment;
     private final List<AnnotationType> annotations;
     private final List<Type> implementsTypes;
@@ -46,6 +47,7 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat
     public AbstractGeneratedType(final AbstractGeneratedTypeBuilder<?> builder) {
         super(builder.getPackageName(), builder.getName(), true);
         this.parent = builder.getParent();
+        this.parentTypeForBuilder = builder.getParentTypeForBuilder();
         this.comment = builder.getComment();
         this.annotations = toUnmodifiableAnnotations(builder.getAnnotations());
         this.implementsTypes = makeUnmodifiable(builder.getImplementsTypes());
@@ -63,9 +65,10 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat
                                  final List<Type> implementsTypes, final List<GeneratedTypeBuilder> enclosedGenTypeBuilders,
                                  final List<GeneratedTOBuilder> enclosedGenTOBuilders, final List<EnumBuilder> enumBuilders,
                                  final List<Constant> constants, final List<MethodSignatureBuilder> methodBuilders,
-                                 final List<GeneratedPropertyBuilder> propertyBuilders) {
+                                 final List<GeneratedPropertyBuilder> propertyBuilders, final Type parentTypeForBuilder) {
         super(packageName, name);
         this.parent = parent;
+        this.parentTypeForBuilder = parentTypeForBuilder;
         this.comment = comment;
         this.annotations = toUnmodifiableAnnotations(annotationBuilders);
         this.implementsTypes = makeUnmodifiable(implementsTypes);
@@ -127,6 +130,11 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat
         return this.parent;
     }
 
+    @Override
+    public Type getParentTypeForBuilder() {
+        return this.parentTypeForBuilder;
+    }
+
     @Override
     public String getComment() {
         return this.comment;