Refactor GeneratedTOBuilderImpl 72/69972/2
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 3 Mar 2018 16:36:07 +0000 (17:36 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 23 Mar 2018 16:14:33 +0000 (17:14 +0100)
This builder is used at both runtime and codegen-time and it captures
information irrelevant to runtime, leading to bloat.

Refactor this class into three classes:
- AbstractGeneratedTypeBuilder for common information
- CodegenGeneratedTOBuilder common + codegen information
- RuntimeGeneratedTOBuilder throwing UnsupportedOperationException
  for codegen information

JIRA: MDSAL-315
Change-Id: Ie1d3d075590334cb5b8ce41c059ac2e10cf02d56
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 636ac0055012e2ee436d5526a95640c6df35e46a)

16 files changed:
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/CodegenTypeProvider.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/RuntimeTypeProvider.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractGeneratedTOBuilder.java [moved from binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedTOBuilderImpl.java with 61% similarity]
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractGeneratedTypeBuilder.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/CodegenGeneratedTOBuilder.java [new file with mode: 0644]
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/RuntimeGeneratedTOBuilder.java [new file with mode: 0644]
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractGeneratedTypeBuilderTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AnnotationBuilderTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedTOBuilderImplTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedTOBuilderTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedTypeBuilderTest.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/ClassCodeGeneratorTest.java

index 24717088cdde7047b69d34d9406162d551c23397..32a76874778f6dd30f883cb5893a5ae2350dd665 100644 (file)
@@ -59,8 +59,8 @@ import org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil;
 import org.opendaylight.mdsal.binding.model.util.BindingTypes;
 import org.opendaylight.mdsal.binding.model.util.ReferencedTypeImpl;
 import org.opendaylight.mdsal.binding.model.util.Types;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedPropertyBuilderImpl;
-import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTOBuilderImpl;
 import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTypeBuilderImpl;
 import org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider;
 import org.opendaylight.mdsal.binding.yang.types.GroupingDefinitionDependencySort;
@@ -579,11 +579,11 @@ abstract class AbstractTypeGenerator {
         }
         final String packageName = packageNameForGeneratedType(basePackageName, identity.getPath());
         final String genTypeName = BindingMapping.getClassName(identity.getQName());
-        final GeneratedTOBuilderImpl newType = new GeneratedTOBuilderImpl(packageName, genTypeName);
+        final GeneratedTOBuilder newType = typeProvider.newGeneratedTOBuilder(packageName, genTypeName);
         final Set<IdentitySchemaNode> baseIdentities = identity.getBaseIdentities();
         if (baseIdentities.isEmpty()) {
-            final GeneratedTOBuilderImpl gto = new GeneratedTOBuilderImpl(BaseIdentity.class.getPackage().getName(),
-                    BaseIdentity.class.getSimpleName());
+            final GeneratedTOBuilder gto = typeProvider.newGeneratedTOBuilder(
+                BaseIdentity.class.getPackage().getName(), BaseIdentity.class.getSimpleName());
             newType.setExtendsType(gto.toInstance());
         } else {
             final IdentitySchemaNode baseIdentity = baseIdentities.iterator().next();
@@ -591,7 +591,7 @@ abstract class AbstractTypeGenerator {
             final String returnTypePkgName = BindingMapping.getRootPackageName(baseIdentityParentModule
                     .getQNameModule());
             final String returnTypeName = BindingMapping.getClassName(baseIdentity.getQName());
-            final GeneratedTransferObject gto = new GeneratedTOBuilderImpl(returnTypePkgName, returnTypeName)
+            final GeneratedTransferObject gto = new CodegenGeneratedTOBuilder(returnTypePkgName, returnTypeName)
             .toInstance();
             newType.setExtendsType(gto);
         }
@@ -1573,7 +1573,7 @@ abstract class AbstractTypeGenerator {
 
     private Type createReturnTypeForUnion(final GeneratedTOBuilder genTOBuilder, final TypeDefinition<?> typeDef,
             final GeneratedTypeBuilder typeBuilder, final Module parentModule) {
-        final GeneratedTOBuilderImpl returnType = new GeneratedTOBuilderImpl(genTOBuilder.getPackageName(),
+        final GeneratedTOBuilder returnType = typeProvider.newGeneratedTOBuilder(genTOBuilder.getPackageName(),
                 genTOBuilder.getName());
 
         addCodegenInformation(returnType, parentModule, typeDef);
@@ -1605,7 +1605,8 @@ abstract class AbstractTypeGenerator {
         return returnType.toInstance();
     }
 
-    private static GeneratedTOBuilder createUnionBuilder(final GeneratedTOBuilder genTOBuilder, final GeneratedTypeBuilder typeBuilder) {
+    private GeneratedTOBuilder createUnionBuilder(final GeneratedTOBuilder genTOBuilder,
+            final GeneratedTypeBuilder typeBuilder) {
         final String outerCls = Types.getOuterClassName(genTOBuilder);
         final StringBuilder name;
         if (outerCls != null) {
@@ -1615,7 +1616,8 @@ abstract class AbstractTypeGenerator {
         }
         name.append(genTOBuilder.getName());
         name.append("Builder");
-        final GeneratedTOBuilderImpl unionBuilder = new GeneratedTOBuilderImpl(typeBuilder.getPackageName(),name.toString());
+        final GeneratedTOBuilder unionBuilder = typeProvider.newGeneratedTOBuilder(typeBuilder.getPackageName(),
+            name.toString());
         unionBuilder.setIsUnionBuilder(true);
         return unionBuilder;
     }
@@ -1896,12 +1898,12 @@ abstract class AbstractTypeGenerator {
      *         <code>list</code> or null if <code>list</code> is null or list of
      *         key definitions is null or empty.
      */
-    private static GeneratedTOBuilder resolveListKeyTOBuilder(final String packageName, final ListSchemaNode list) {
+    private GeneratedTOBuilder resolveListKeyTOBuilder(final String packageName, final ListSchemaNode list) {
         GeneratedTOBuilder genTOBuilder = null;
         if (list.getKeyDefinition() != null && !list.getKeyDefinition().isEmpty()) {
             final String listName = list.getQName().getLocalName() + "Key";
             final String genTOName = BindingMapping.getClassName(listName);
-            genTOBuilder = new GeneratedTOBuilderImpl(packageName, genTOName);
+            genTOBuilder = typeProvider.newGeneratedTOBuilder(packageName, genTOName);
         }
         return genTOBuilder;
     }
index 5df114b7307aff5c8ead8f532da6c145777eb916..d80056ddd03319c767f556c8a19f53a12faf2961 100644 (file)
@@ -51,7 +51,6 @@ import org.opendaylight.mdsal.binding.model.util.TypeConstants;
 import org.opendaylight.mdsal.binding.model.util.Types;
 import org.opendaylight.mdsal.binding.model.util.generated.type.builder.EnumerationBuilderImpl;
 import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedPropertyBuilderImpl;
-import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTOBuilderImpl;
 import org.opendaylight.yangtools.yang.binding.BindingMapping;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
@@ -240,9 +239,8 @@ public abstract class AbstractTypeProvider implements TypeProvider {
         return returnType;
     }
 
-    private static GeneratedTransferObject shadedTOWithRestrictions(final GeneratedTransferObject gto,
-            final Restrictions r) {
-        final GeneratedTOBuilder gtob = new GeneratedTOBuilderImpl(gto.getPackageName(), gto.getName());
+    private GeneratedTransferObject shadedTOWithRestrictions(final GeneratedTransferObject gto, final Restrictions r) {
+        final GeneratedTOBuilder gtob = newGeneratedTOBuilder(gto.getPackageName(), gto.getName());
         final GeneratedTransferObject parent = gto.getSuperType();
         if (parent != null) {
             gtob.setExtendsType(parent);
@@ -703,6 +701,8 @@ public abstract class AbstractTypeProvider implements TypeProvider {
 
     public abstract void addEnumDescription(EnumBuilder enumBuilder, EnumTypeDefinition enumTypeDef);
 
+    public abstract GeneratedTOBuilder newGeneratedTOBuilder(String packageName, String name);
+
     abstract void addCodegenInformation(GeneratedTypeBuilderBase<?> genTOBuilder, TypeDefinition<?> typeDef);
 
     /**
@@ -796,7 +796,8 @@ public abstract class AbstractTypeProvider implements TypeProvider {
      *         <code>modulName</code> or <code>typedef</code> or Q name of
      *         <code>typedef</code> equals <code>null</code>
      */
-    private Type typedefToGeneratedType(final String basePackageName, final Module module, final TypeDefinition<?> typedef) {
+    private Type typedefToGeneratedType(final String basePackageName, final Module module,
+            final TypeDefinition<?> typedef) {
         final String moduleName = module.getName();
         final Optional<Revision> moduleRevision = module.getRevision();
         if (basePackageName != null && moduleName != null && typedef != null && typedef.getQName() != null) {
@@ -807,17 +808,18 @@ public abstract class AbstractTypeProvider implements TypeProvider {
                     && !(innerTypeDefinition instanceof IdentityrefTypeDefinition)) {
                 Type returnType = null;
                 if (innerTypeDefinition.getBaseType() != null) {
-                    returnType = provideGeneratedTOFromExtendedType(typedef, innerTypeDefinition, basePackageName, module.getName());
+                    returnType = provideGeneratedTOFromExtendedType(typedef, innerTypeDefinition, basePackageName,
+                        module.getName());
                 } else if (innerTypeDefinition instanceof UnionTypeDefinition) {
                     final GeneratedTOBuilder genTOBuilder = provideGeneratedTOBuilderForUnionTypeDef(basePackageName,
                             (UnionTypeDefinition) innerTypeDefinition, typedefName, typedef);
                     genTOBuilder.setTypedef(true);
                     genTOBuilder.setIsUnion(true);
                     addUnitsToGenTO(genTOBuilder, typedef.getUnits().orElse(null));
-                    makeSerializable((GeneratedTOBuilderImpl) genTOBuilder);
+                    makeSerializable(genTOBuilder);
                     returnType = genTOBuilder.toInstance();
                     // union builder
-                    final GeneratedTOBuilder unionBuilder = new GeneratedTOBuilderImpl(genTOBuilder.getPackageName(),
+                    final GeneratedTOBuilder unionBuilder = newGeneratedTOBuilder(genTOBuilder.getPackageName(),
                             genTOBuilder.getName() + "Builder");
                     unionBuilder.setIsUnionBuilder(true);
                     final MethodSignatureBuilder method = unionBuilder.addMethod("getDefaultInstance");
@@ -843,7 +845,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
                             basePackageName, bitsTypeDefinition, typedefName, module.getName());
                     genTOBuilder.setTypedef(true);
                     addUnitsToGenTO(genTOBuilder, typedef.getUnits().orElse(null));
-                    makeSerializable((GeneratedTOBuilderImpl) genTOBuilder);
+                    makeSerializable(genTOBuilder);
                     returnType = genTOBuilder.toInstance();
                 } else {
                     final Type javaType = javaTypeForSchemaDefinitionType(innerTypeDefinition, typedef);
@@ -898,7 +900,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
         }
         addUnitsToGenTO(genTOBuilder, typedef.getUnits().orElse(null));
         genTOBuilder.setTypedef(true);
-        makeSerializable((GeneratedTOBuilderImpl) genTOBuilder);
+        makeSerializable(genTOBuilder);
         return genTOBuilder.toInstance();
     }
 
@@ -959,10 +961,10 @@ public abstract class AbstractTypeProvider implements TypeProvider {
         final List<TypeDefinition<?>> unionTypes = typedef.getTypes();
         final Module module = findParentModule(schemaContext, parentNode);
 
-        final GeneratedTOBuilderImpl unionGenTOBuilder;
+        final GeneratedTOBuilder unionGenTOBuilder;
         if (typeDefName != null && !typeDefName.isEmpty()) {
             final String typeName = BindingMapping.getClassName(typeDefName);
-            unionGenTOBuilder = new GeneratedTOBuilderImpl(basePackageName, typeName);
+            unionGenTOBuilder = newGeneratedTOBuilder(basePackageName, typeName);
             unionGenTOBuilder.setSchemaPath(typedef.getPath().getPathFromRoot());
             unionGenTOBuilder.setModuleName(module.getName());
             addCodegenInformation(unionGenTOBuilder, typedef);
@@ -1173,7 +1175,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
      * @return generated TO builder which contains data from
      *         <code>typedef</code> and <code>basePackageName</code>
      */
-    private GeneratedTOBuilderImpl typedefToTransferObject(final String basePackageName,
+    private GeneratedTOBuilder typedefToTransferObject(final String basePackageName,
             final TypeDefinition<?> typedef, final String moduleName) {
 
         final String packageName = BindingGeneratorUtil.packageNameForGeneratedType(basePackageName, typedef.getPath());
@@ -1181,7 +1183,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
 
         if (packageName != null && typeDefTOName != null) {
             final String genTOName = BindingMapping.getClassName(typeDefTOName);
-            final GeneratedTOBuilderImpl newType = new GeneratedTOBuilderImpl(packageName, genTOName);
+            final GeneratedTOBuilder newType = newGeneratedTOBuilder(packageName, genTOName);
             newType.setSchemaPath(typedef.getPath().getPathFromRoot());
             newType.setModuleName(moduleName);
             addCodegenInformation(newType, typedef);
@@ -1220,7 +1222,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
             final BitsTypeDefinition bitsTypeDefinition = (BitsTypeDefinition) typeDef;
 
             final String typeName = BindingMapping.getClassName(typeDefName);
-            final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl(basePackageName, typeName);
+            final GeneratedTOBuilder genTOBuilder = newGeneratedTOBuilder(basePackageName, typeName);
             genTOBuilder.setSchemaPath(typeDef.getPath().getPathFromRoot());
             genTOBuilder.setModuleName(moduleName);
             genTOBuilder.setBaseType(typeDef);
@@ -1290,14 +1292,15 @@ public abstract class AbstractTypeProvider implements TypeProvider {
      *             <li>if <code>typedefName</code> equals null</li>
      *             </ul>
      */
-    private GeneratedTransferObject provideGeneratedTOFromExtendedType(final TypeDefinition<?> typedef, final TypeDefinition<?> innerExtendedType, final String basePackageName, final String moduleName) {
+    private GeneratedTransferObject provideGeneratedTOFromExtendedType(final TypeDefinition<?> typedef,
+            final TypeDefinition<?> innerExtendedType, final String basePackageName, final String moduleName) {
         Preconditions.checkArgument(innerExtendedType != null, "Extended type cannot be NULL!");
         Preconditions.checkArgument(basePackageName != null, "String with base package name cannot be NULL!");
 
         final String typedefName = typedef.getQName().getLocalName();
         final String classTypedefName = BindingMapping.getClassName(typedefName);
         final String innerTypeDef = innerExtendedType.getQName().getLocalName();
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl(basePackageName, classTypedefName);
+        final GeneratedTOBuilder genTOBuilder = newGeneratedTOBuilder(basePackageName, classTypedefName);
         genTOBuilder.setSchemaPath(typedef.getPath().getPathFromRoot());
         genTOBuilder.setModuleName(moduleName);
         genTOBuilder.setTypedef(true);
@@ -1340,7 +1343,7 @@ public abstract class AbstractTypeProvider implements TypeProvider {
      * @param gto
      *            transfer object which needs to be serializable
      */
-    private static void makeSerializable(final GeneratedTOBuilderImpl gto) {
+    private static void makeSerializable(final GeneratedTOBuilder gto) {
         gto.addImplementsType(Types.typeForClass(Serializable.class));
         final GeneratedPropertyBuilder prop = new GeneratedPropertyBuilderImpl("serialVersionUID");
         prop.setValue(Long.toString(BindingGeneratorUtil.computeDefaultSUID(gto)));
index 3085ad07e92bc0e4475244aefc6bce2439507d02..c6f78d4d1601386151d8a308ef8499f2e983dfae 100644 (file)
@@ -16,7 +16,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import org.opendaylight.mdsal.binding.model.api.type.builder.EnumBuilder;
+import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder;
 import org.opendaylight.yangtools.yang.binding.BindingMapping;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
@@ -96,4 +98,9 @@ public class CodegenTypeProvider extends AbstractTypeProvider {
                 return pattern;
         }
     }
+
+    @Override
+    public GeneratedTOBuilder newGeneratedTOBuilder(final String packageName, final String name) {
+        return new CodegenGeneratedTOBuilder(packageName, name);
+    }
 }
index 0ff5a009b3edb3bc2a0e431961cc0aaa9839d4d5..52f6a4285ef05657f4f9d95ee127dcf07c71bf25 100644 (file)
@@ -11,7 +11,9 @@ import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableMap;
 import java.util.Map;
 import org.opendaylight.mdsal.binding.model.api.type.builder.EnumBuilder;
+import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.RuntimeGeneratedTOBuilder;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
@@ -40,4 +42,9 @@ public final class RuntimeTypeProvider extends AbstractTypeProvider {
     Map<String, String> resolveRegExpressionsFromTypedef(final TypeDefinition<?> typedef) {
         return ImmutableMap.of();
     }
+
+    @Override
+    public GeneratedTOBuilder newGeneratedTOBuilder(final String packageName, final String name) {
+        return new RuntimeGeneratedTOBuilder(packageName, name);
+    }
 }
index a1a0b3a0ea964f164cbe3d6a63311fe15a3e658a..d6dc7fa896b3cc88ad58fe83fd3ef7e17981d30b 100644 (file)
@@ -34,7 +34,7 @@ import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil;
 import org.opendaylight.mdsal.binding.model.util.ReferencedTypeImpl;
-import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTOBuilderImpl;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
@@ -708,7 +708,7 @@ public class TypeProviderTest {
 
     @Test
     public void addUnitsToGenTOTest() {
-        final GeneratedTOBuilder builder = new GeneratedTOBuilderImpl("test.package", "TestBuilder");
+        final GeneratedTOBuilder builder = new CodegenGeneratedTOBuilder("test.package", "TestBuilder");
 
         CodegenTypeProvider.addUnitsToGenTO(builder, null);
         GeneratedTransferObject genTO = builder.toInstance();
@@ -13,39 +13,33 @@ import java.util.List;
 import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
 import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
 import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
-import org.opendaylight.mdsal.binding.model.api.Restrictions;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
 import org.opendaylight.yangtools.util.LazyCollections;
-import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 
-public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<GeneratedTOBuilder> implements GeneratedTOBuilder {
+abstract class AbstractGeneratedTOBuilder extends AbstractGeneratedTypeBuilder<GeneratedTOBuilder>
+        implements GeneratedTOBuilder {
 
-    private GeneratedTransferObject extendsType;
+    // FIXME are these three referenced anywhere at runtime?
     private List<GeneratedPropertyBuilder> equalsProperties = Collections.emptyList();
     private List<GeneratedPropertyBuilder> hashProperties = Collections.emptyList();
     private List<GeneratedPropertyBuilder> toStringProperties = Collections.emptyList();
+    private GeneratedTransferObject extendsType;
     private boolean isTypedef = false;
     private boolean isUnionType = false;
     private boolean isUnionTypeBuilder = false;
     private TypeDefinition<?> baseType = null;
-    private Restrictions restrictions;
-    private GeneratedPropertyBuilder SUID;
-    private String reference;
-    private String description;
-    private String moduleName;
-    private Iterable<QName> schemaPath;
 
-    public GeneratedTOBuilderImpl(final String packageName, final String name) {
+    AbstractGeneratedTOBuilder(final String packageName, final String name) {
         super(packageName, name);
         setAbstract(false);
     }
 
     @Override
-    public GeneratedTOBuilder setExtendsType(final GeneratedTransferObject genTransObj) {
+    public final GeneratedTOBuilder setExtendsType(final GeneratedTransferObject genTransObj) {
         Preconditions.checkArgument(genTransObj != null, "Generated Transfer Object cannot be null!");
         this.extendsType = genTransObj;
         return this;
@@ -66,52 +60,37 @@ public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<G
      * @return <code>new</code> instance of Method Signature Builder.
      */
     @Override
-    public MethodSignatureBuilder addMethod(final String name) {
+    public final MethodSignatureBuilder addMethod(final String name) {
         final MethodSignatureBuilder builder = super.addMethod(name);
         builder.setAbstract(false);
         return builder;
     }
 
     @Override
-    public GeneratedTOBuilder addEqualsIdentity(final GeneratedPropertyBuilder property) {
+    public final GeneratedTOBuilder addEqualsIdentity(final GeneratedPropertyBuilder property) {
         this.equalsProperties = LazyCollections.lazyAdd(this.equalsProperties, property);
         return this;
     }
 
     @Override
-    public GeneratedTOBuilder addHashIdentity(final GeneratedPropertyBuilder property) {
+    public final GeneratedTOBuilder addHashIdentity(final GeneratedPropertyBuilder property) {
         this.hashProperties = LazyCollections.lazyAdd(this.hashProperties, property);
         return this;
     }
 
     @Override
-    public GeneratedTOBuilder addToStringProperty(final GeneratedPropertyBuilder property) {
+    public final GeneratedTOBuilder addToStringProperty(final GeneratedPropertyBuilder property) {
         this.toStringProperties = LazyCollections.lazyAdd(this.toStringProperties, property);
         return this;
     }
 
     @Override
-    protected GeneratedTOBuilder thisInstance() {
+    protected final GeneratedTOBuilder thisInstance() {
         return this;
     }
 
     @Override
-    public void setRestrictions(final Restrictions restrictions) {
-        this.restrictions = restrictions;
-    }
-
-    @Override
-    public void setSUID(final GeneratedPropertyBuilder suid) {
-        this.SUID = suid;
-    }
-
-    @Override
-    public GeneratedTransferObject toInstance() {
-        return new GeneratedTransferObjectImpl(this);
-    }
-
-    @Override
-    public String toString() {
+    public final String toString() {
         final StringBuilder builder = new StringBuilder();
         builder.append("GeneratedTransferObject [packageName=");
         builder.append(getPackageName());
@@ -138,46 +117,26 @@ public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<G
     }
 
     @Override
-    public void setTypedef(final boolean isTypedef) {
+    public final void setTypedef(final boolean isTypedef) {
         this.isTypedef = isTypedef;
     }
 
     @Override
-    public void setBaseType(final TypeDefinition<?> typeDef) {
+    public final void setBaseType(final TypeDefinition<?> typeDef) {
         this.baseType = typeDef;
     }
 
     @Override
-    public void setIsUnion(final boolean isUnion) {
+    public final void setIsUnion(final boolean isUnion) {
         this.isUnionType = isUnion;
     }
 
     @Override
-    public void setIsUnionBuilder(final boolean isUnionTypeBuilder) {
+    public final void setIsUnionBuilder(final boolean isUnionTypeBuilder) {
         this.isUnionTypeBuilder = isUnionTypeBuilder;
     }
 
-    @Override
-    public void setDescription(final String description) {
-        this.description = description;
-    }
-
-    @Override
-    public void setModuleName(final String moduleName) {
-        this.moduleName = moduleName;
-    }
-
-    @Override
-    public void setSchemaPath(final Iterable<QName> schemaPath) {
-        this.schemaPath = schemaPath;
-    }
-
-    @Override
-    public void setReference(final String reference) {
-        this.reference = reference;
-    }
-
-    private static final class GeneratedTransferObjectImpl extends AbstractGeneratedType implements
+    static abstract class AbstractGeneratedTransferObject extends AbstractGeneratedType implements
     GeneratedTransferObject {
 
         private final List<GeneratedProperty> equalsProperties;
@@ -188,14 +147,8 @@ public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<G
         private final TypeDefinition<?> baseType;
         private final boolean isUnionType;
         private final boolean isUnionTypeBuilder;
-        private final Restrictions restrictions;
-        private final GeneratedProperty SUID;
-        private final String reference;
-        private final String description;
-        private final String moduleName;
-        private final Iterable<QName> schemaPath;
 
-        public GeneratedTransferObjectImpl(final GeneratedTOBuilderImpl builder) {
+        AbstractGeneratedTransferObject(final AbstractGeneratedTOBuilder builder) {
             super(builder);
             this.extendsType = builder.extendsType;
 
@@ -209,71 +162,50 @@ public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<G
             this.baseType = builder.baseType;
             this.isUnionType = builder.isUnionType;
             this.isUnionTypeBuilder = builder.isUnionTypeBuilder;
-            this.restrictions = builder.restrictions;
-            this.reference = builder.reference;
-            this.description = builder.description;
-            this.moduleName = builder.moduleName;
-            this.schemaPath = builder.schemaPath;
-
-            if (builder.SUID == null) {
-                this.SUID = null;
-            } else {
-                this.SUID = builder.SUID.toInstance(GeneratedTransferObjectImpl.this);
-            }
         }
 
         @Override
-        public boolean isTypedef() {
+        public final boolean isTypedef() {
             return this.isTypedef;
         }
 
         @Override
-        public TypeDefinition<?> getBaseType() {
+        public final TypeDefinition<?> getBaseType() {
             return this.baseType;
         }
 
         @Override
-        public boolean isUnionType() {
+        public final boolean isUnionType() {
             return this.isUnionType;
         }
 
         @Override
-        public boolean isUnionTypeBuilder() {
+        public final boolean isUnionTypeBuilder() {
             return this.isUnionTypeBuilder;
         }
 
         @Override
-        public GeneratedTransferObject getSuperType() {
+        public final GeneratedTransferObject getSuperType() {
             return this.extendsType;
         }
 
         @Override
-        public List<GeneratedProperty> getEqualsIdentifiers() {
+        public final List<GeneratedProperty> getEqualsIdentifiers() {
             return this.equalsProperties;
         }
 
         @Override
-        public List<GeneratedProperty> getHashCodeIdentifiers() {
+        public final List<GeneratedProperty> getHashCodeIdentifiers() {
             return this.hashCodeProperties;
         }
 
         @Override
-        public List<GeneratedProperty> getToStringIdentifiers() {
+        public final List<GeneratedProperty> getToStringIdentifiers() {
             return this.stringProperties;
         }
 
         @Override
-        public Restrictions getRestrictions() {
-            return this.restrictions;
-        }
-
-        @Override
-        public GeneratedProperty getSUID() {
-            return this.SUID;
-        }
-
-        @Override
-        public String toString() {
+        public final String toString() {
             if (this.isTypedef) {
                 return serializeTypedef(this);
             }
@@ -310,46 +242,24 @@ public final class GeneratedTOBuilderImpl extends AbstractGeneratedTypeBuilder<G
             return builder.toString();
         }
 
-        public String serializeTypedef(final Type type) {
-            if (type instanceof ParameterizedType) {
-                final ParameterizedType parameterizedType = (ParameterizedType) type;
-                final StringBuilder sb = new StringBuilder();
-                sb.append(parameterizedType.getRawType().getFullyQualifiedName());
-                sb.append('<');
-                boolean first = true;
-                for (final Type parameter : parameterizedType.getActualTypeArguments()) {
-                    if (first) {
-                        first = false;
-                    } else {
-                        sb.append(',');
-                    }
-                    sb.append(serializeTypedef(parameter));
-                }
-                sb.append('>');
-                return sb.toString();
-            } else {
+        public final String serializeTypedef(final Type type) {
+            if (!(type instanceof ParameterizedType)) {
                 return type.getFullyQualifiedName();
             }
-        }
-
-        @Override
-        public String getDescription() {
-            return this.description;
-        }
-
-        @Override
-        public String getReference() {
-            return this.reference;
-        }
 
-        @Override
-        public Iterable<QName> getSchemaPath() {
-            return this.schemaPath;
-        }
-
-        @Override
-        public String getModuleName() {
-            return this.moduleName;
+            final ParameterizedType parameterizedType = (ParameterizedType) type;
+            final StringBuilder sb = new StringBuilder();
+            sb.append(parameterizedType.getRawType().getFullyQualifiedName()).append('<');
+            boolean first = true;
+            for (final Type parameter : parameterizedType.getActualTypeArguments()) {
+                if (first) {
+                    first = false;
+                } else {
+                    sb.append(',');
+                }
+                sb.append(serializeTypedef(parameter));
+            }
+            return sb.append('>').toString();
         }
     }
 }
index a4eff6bd29d442c12b57a861f86ea95ce009a2d2..83fbd079136fcdf00e3e5a0211a8a93db8ece902 100644 (file)
@@ -90,7 +90,7 @@ abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T
     @Override
     public GeneratedTOBuilder addEnclosingTransferObject(final String name) {
         Preconditions.checkArgument(name != null, "Name for Enclosing Generated Transfer Object cannot be null!");
-        final GeneratedTOBuilder builder = new GeneratedTOBuilderImpl(getFullyQualifiedName(), name);
+        final GeneratedTOBuilder builder = new CodegenGeneratedTOBuilder(getFullyQualifiedName(), name);
 
         Preconditions.checkArgument(!this.enclosedTransferObjects.contains(builder),
             "This generated type already contains equal enclosing transfer object.");
diff --git a/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/CodegenGeneratedTOBuilder.java b/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/CodegenGeneratedTOBuilder.java
new file mode 100644 (file)
index 0000000..e1167a4
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
+
+import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
+import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.mdsal.binding.model.api.Restrictions;
+import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
+import org.opendaylight.yangtools.yang.common.QName;
+
+public final class CodegenGeneratedTOBuilder extends AbstractGeneratedTOBuilder {
+
+    private Restrictions restrictions;
+    private GeneratedPropertyBuilder SUID;
+    private String reference;
+    private String description;
+    private String moduleName;
+    private Iterable<QName> schemaPath;
+
+    public CodegenGeneratedTOBuilder(final String packageName, final String name) {
+        super(packageName, name);
+    }
+
+    @Override
+    public void setRestrictions(final Restrictions restrictions) {
+        this.restrictions = restrictions;
+    }
+
+    @Override
+    public void setSUID(final GeneratedPropertyBuilder suid) {
+        this.SUID = suid;
+    }
+
+    @Override
+    public GeneratedTransferObject toInstance() {
+        return new GTO(this);
+    }
+
+    @Override
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    @Override
+    public void setModuleName(final String moduleName) {
+        this.moduleName = moduleName;
+    }
+
+    @Override
+    public void setSchemaPath(final Iterable<QName> schemaPath) {
+        this.schemaPath = schemaPath;
+    }
+
+    @Override
+    public void setReference(final String reference) {
+        this.reference = reference;
+    }
+
+    private static final class GTO extends AbstractGeneratedTransferObject {
+        private final Restrictions restrictions;
+        private final GeneratedProperty SUID;
+        private final String reference;
+        private final String description;
+        private final String moduleName;
+        private final Iterable<QName> schemaPath;
+
+        public GTO(final CodegenGeneratedTOBuilder builder) {
+            super(builder);
+            this.restrictions = builder.restrictions;
+            this.reference = builder.reference;
+            this.description = builder.description;
+            this.moduleName = builder.moduleName;
+            this.schemaPath = builder.schemaPath;
+
+            if (builder.SUID == null) {
+                this.SUID = null;
+            } else {
+                this.SUID = builder.SUID.toInstance(GTO.this);
+            }
+        }
+
+        @Override
+        public Restrictions getRestrictions() {
+            return this.restrictions;
+        }
+
+        @Override
+        public GeneratedProperty getSUID() {
+            return this.SUID;
+        }
+
+        @Override
+        public String getDescription() {
+            return this.description;
+        }
+
+        @Override
+        public String getReference() {
+            return this.reference;
+        }
+
+        @Override
+        public Iterable<QName> getSchemaPath() {
+            return this.schemaPath;
+        }
+
+        @Override
+        public String getModuleName() {
+            return this.moduleName;
+        }
+    }
+}
diff --git a/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/RuntimeGeneratedTOBuilder.java b/binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/RuntimeGeneratedTOBuilder.java
new file mode 100644 (file)
index 0000000..330c72b
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
+
+import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
+import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.mdsal.binding.model.api.Restrictions;
+import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
+import org.opendaylight.yangtools.yang.common.QName;
+
+public final class RuntimeGeneratedTOBuilder extends AbstractGeneratedTOBuilder {
+
+    public RuntimeGeneratedTOBuilder(final String packageName, final String name) {
+        super(packageName, name);
+    }
+
+    @Override
+    public void setRestrictions(final Restrictions restrictions) {
+        // No-op
+    }
+
+    @Override
+    public void setSUID(final GeneratedPropertyBuilder suid) {
+        // No-op
+    }
+
+    @Override
+    public void setDescription(final String description) {
+        // No-op
+    }
+
+    @Override
+    public void setModuleName(final String moduleName) {
+        // No-op
+    }
+
+    @Override
+    public void setSchemaPath(final Iterable<QName> schemaPath) {
+        // No-op
+    }
+
+    @Override
+    public void setReference(final String reference) {
+        // No-op
+    }
+
+    @Override
+    public GeneratedTransferObject toInstance() {
+        return new GTO(this);
+    }
+
+    private static final class GTO extends AbstractGeneratedTransferObject {
+        GTO(final RuntimeGeneratedTOBuilder builder) {
+            super(builder);
+        }
+
+        @Override
+        public Restrictions getRestrictions() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+
+        @Override
+        public GeneratedProperty getSUID() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+
+        @Override
+        public String getDescription() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+
+        @Override
+        public String getReference() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+
+        @Override
+        public Iterable<QName> getSchemaPath() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+
+        @Override
+        public String getModuleName() {
+            throw new UnsupportedOperationException("Not available at runtime");
+        }
+    }
+}
index 354d072612baa1657c4f8e3a15a26725375f5c7f..b59bdff57000e74068402eec5351a31cfea66f24 100644 (file)
@@ -33,8 +33,8 @@ public class AbstractGeneratedTypeBuilderTest {
     public void addEnclosingTransferObjectArgumentTest() {
         GeneratedTypeBuilderImpl generatedTypeBuilder = new GeneratedTypeBuilderImpl("my.package", "MyName");
 
-        generatedTypeBuilder.addEnclosingTransferObject(new GeneratedTOBuilderImpl("my.package", "myName"));
-        generatedTypeBuilder.addEnclosingTransferObject(new GeneratedTOBuilderImpl("my.package", "myName"));
+        generatedTypeBuilder.addEnclosingTransferObject(new CodegenGeneratedTOBuilder("my.package", "myName"));
+        generatedTypeBuilder.addEnclosingTransferObject(new CodegenGeneratedTOBuilder("my.package", "myName"));
     }
 
     @Test(expected = IllegalArgumentException.class)
index 2b4711b035d712525b618390c3cc0925973c5fab..c0899886eeae75c529811833429df2ef49f031aa 100644 (file)
@@ -129,7 +129,7 @@ public class AnnotationBuilderTest {
 
     @Test
     public void generatedPropertyAnnotationTest() {
-        final GeneratedTOBuilder genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.controller",
+        final GeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.controller",
                 "AnnotInterface");
 
         final GeneratedPropertyBuilder propertyBuilder = genTOBuilder.addProperty("simpleProperty");
@@ -191,7 +191,7 @@ public class AnnotationBuilderTest {
 
     @Test
     public void generatedTransfeObjectAnnotationTest() {
-        final GeneratedTOBuilder genTypeBuilder = new GeneratedTOBuilderImpl("org.opendaylight.controller",
+        final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.controller",
                 "AnnotClassCache");
 
         genTypeBuilder.addAnnotation("javax.management", "MBean");
index 70bd4cdbd56f52b4f242c561c53e3da6d38b70a0..986c784f4066d6fa6ab38c919c406d1939039ead 100644 (file)
@@ -26,14 +26,14 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testCreateNewInstance() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         assertNotNull(genTOBuilder);
     }
 
     @Test
     public void testSetExtendsType() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
-        final GeneratedTOBuilderImpl extendedTypeBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "ExtendedType");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder extendedTypeBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "ExtendedType");
         final GeneratedTransferObject extendedType = extendedTypeBuilder.toInstance();
         genTOBuilder.setExtendsType(extendedType);
         final GeneratedTransferObject genTO = genTOBuilder.toInstance();
@@ -43,7 +43,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testAddMethod() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final MethodSignatureBuilder methodSignatureBuilder = genTOBuilder.addMethod("testMethod");
         assertEquals(methodSignatureBuilder, genTOBuilder.getMethodDefinitions().get(0));
         assertEquals("testMethod", genTOBuilder.getMethodDefinitions().get(0).getName());
@@ -51,7 +51,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testAddEqualsIdentity() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
         genTOBuilder.addEqualsIdentity(propertyBuilder);
 
@@ -62,7 +62,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testAddHashIdentity() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
         genTOBuilder.addHashIdentity(propertyBuilder);
 
@@ -73,7 +73,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testAddToStringProperty() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
         genTOBuilder.addToStringProperty(propertyBuilder);
 
@@ -84,7 +84,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testSetRestrictions() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final Restrictions restrictions = new Restrictions() {
 
             @Override
@@ -115,7 +115,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testSetSUID() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final GeneratedPropertyBuilderImpl propertyBuilder = new GeneratedPropertyBuilderImpl("testProperty");
         genTOBuilder.setSUID(propertyBuilder);
 
@@ -125,13 +125,13 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testToStringMethod() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         assertNotNull(genTOBuilder.toString());
     }
 
     @Test
     public void testSetterMethods() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         genTOBuilder.setTypedef(true);
         genTOBuilder.setIsUnion(true);
         genTOBuilder.setIsUnionBuilder(true);
@@ -153,7 +153,7 @@ public class GeneratedTOBuilderImplTest {
 
     @Test
     public void testMethodsOfGeneratedTransferObjectImpl() {
-        final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl("org.opendaylight.yangtools.test", "Test");
+        final CodegenGeneratedTOBuilder genTOBuilder = new CodegenGeneratedTOBuilder("org.opendaylight.yangtools.test", "Test");
         final GeneratedTransferObject genTO = genTOBuilder.toInstance();
 
         assertNotNull(genTO.toString());
index 56c6d66956fb8bf64a518e8b6dff8cea1f4bea99..9aa88d63fda6c640f27bd3a1839c8a5ee2f4155c 100644 (file)
@@ -20,7 +20,7 @@ public class GeneratedTOBuilderTest {
 
     @Test
     public void testBuilder() {
-        final GeneratedTOBuilder genTypeBuilder = new GeneratedTOBuilderImpl(
+        final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder(
                 "org.opendaylight.controller", "AnnotClassCache");
 
         genTypeBuilder.setSUID(genTypeBuilder.addProperty("SUID"));
@@ -43,7 +43,7 @@ public class GeneratedTOBuilderTest {
 
     @Test
     public void testToString() {
-        final GeneratedTOBuilder genTypeBuilder = new GeneratedTOBuilderImpl(
+        final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder(
                 "org.opendaylight.controller", "AnnotClassCache");
         String toString = genTypeBuilder.toString();
         assertTrue(toString.contains("GeneratedTransferObject"));
@@ -51,7 +51,7 @@ public class GeneratedTOBuilderTest {
 
     @Test
     public void testTransferBuilderToString() {
-        final GeneratedTOBuilder genTypeBuilder1 = new GeneratedTOBuilderImpl(
+        final GeneratedTOBuilder genTypeBuilder1 = new CodegenGeneratedTOBuilder(
                 "org.opendaylight.controller", "AnnotClassCache");
 
         genTypeBuilder1.setTypedef(true);
@@ -59,7 +59,7 @@ public class GeneratedTOBuilderTest {
         String toString = genTO.toString();
         assertFalse(toString.contains("GeneratedTransferObject"));
 
-        final GeneratedTOBuilder genTypeBuilder2 = new GeneratedTOBuilderImpl(
+        final GeneratedTOBuilder genTypeBuilder2 = new CodegenGeneratedTOBuilder(
                 "org.opendaylight.controller", "AnnotClassCache");
 
         genTypeBuilder2.setTypedef(false);
index e12819c5fec9d58fbc7a6c5fe1f9999bce8e6b11..0bd589d75bf24f1c0cf6f26a6716430b67ec744f 100644 (file)
@@ -264,7 +264,7 @@ public class GeneratedTypeBuilderTest {
 
         GeneratedTOBuilder enclosingTransferObject = generatedTypeBuilder.addEnclosingTransferObject("myTOName");
         GeneratedTOBuilder enclosingTransferObject2 = generatedTypeBuilder.addEnclosingTransferObject("myTOName2");
-        assertEquals(generatedTypeBuilder, generatedTypeBuilder.addEnclosingTransferObject(new GeneratedTOBuilderImpl(
+        assertEquals(generatedTypeBuilder, generatedTypeBuilder.addEnclosingTransferObject(new CodegenGeneratedTOBuilder(
                 generatedTypeBuilder.getFullyQualifiedName(), "myTOName3")));
 
         assertNotNull(enclosingTransferObject);
@@ -277,9 +277,9 @@ public class GeneratedTypeBuilderTest {
 
         assertTrue(enclosedTypes.contains(enclosingTransferObject.toInstance()));
         assertTrue(enclosedTypes.contains(enclosingTransferObject2.toInstance()));
-        assertTrue(enclosedTypes.contains(new GeneratedTOBuilderImpl(generatedTypeBuilder.getFullyQualifiedName(),
+        assertTrue(enclosedTypes.contains(new CodegenGeneratedTOBuilder(generatedTypeBuilder.getFullyQualifiedName(),
                 "myTOName3").toInstance()));
-        assertFalse(enclosedTypes.contains(new GeneratedTOBuilderImpl(generatedTypeBuilder.getFullyQualifiedName(),
+        assertFalse(enclosedTypes.contains(new CodegenGeneratedTOBuilder(generatedTypeBuilder.getFullyQualifiedName(),
                 "myTOName4").toInstance()));
 
     }
index 877f26542b5485c59f08deba77bb29a85fcc89bf..325b6a0e5c88ff6819d3cdbb134aff0b9c1a31fa 100644 (file)
@@ -27,7 +27,7 @@ import org.opendaylight.mdsal.binding.model.api.MethodSignature
 import org.opendaylight.mdsal.binding.model.api.Type
 import org.opendaylight.mdsal.binding.model.util.ReferencedTypeImpl
 import org.opendaylight.mdsal.binding.model.util.Types
-import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTOBuilderImpl
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder
 import org.opendaylight.yangtools.concepts.Builder
 import org.opendaylight.yangtools.yang.binding.Augmentable
 import org.opendaylight.yangtools.yang.binding.AugmentationHolder
@@ -119,7 +119,7 @@ class BuilderTemplate extends BaseTemplate {
                         val fullyQualifiedName = m.returnType.name
                         val pkg = fullyQualifiedName.package
                         val name = fullyQualifiedName.name
-                        val tmpGenTO = new GeneratedTOBuilderImpl(pkg, name)
+                        val tmpGenTO = new CodegenGeneratedTOBuilder(pkg, name)
                         val refType = new ReferencedTypeImpl(pkg, name)
                         val generic = new ReferencedTypeImpl(type.packageName, type.name)
                         val parametrizedReturnType = Types.parameterizedTypeFor(refType, generic)
@@ -204,7 +204,7 @@ class BuilderTemplate extends BaseTemplate {
         }
         if (method.name.startsWith(prefix)) {
             val fieldName = method.getName().substring(prefix.length()).toFirstLower
-            val tmpGenTO = new GeneratedTOBuilderImpl("foo", "foo")
+            val tmpGenTO = new CodegenGeneratedTOBuilder("foo", "foo")
             tmpGenTO.addProperty(fieldName).setReturnType(method.returnType)
             return tmpGenTO.toInstance.properties.first
         }
index 2bdb36cd938a7016cdd58b5b8b738527004d1276..0baeafe54b7aeccdfb1c13a41bfb0287e4d87e57 100644 (file)
@@ -24,7 +24,7 @@ import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.util.Types;
-import org.opendaylight.mdsal.binding.model.util.generated.type.builder.GeneratedTOBuilderImpl;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
@@ -91,8 +91,7 @@ public class ClassCodeGeneratorTest {
      */
     @Test
     public void defaultConstructorNotPresentInValueTypeTest() {
-        final GeneratedTOBuilder toBuilder = new GeneratedTOBuilderImpl(
-                "simple.pack", "DefCtor");
+        final GeneratedTOBuilder toBuilder = new CodegenGeneratedTOBuilder("simple.pack", "DefCtor");
 
         GeneratedPropertyBuilder propBuilder = toBuilder.addProperty("foo");
         propBuilder.setReturnType(Types.typeForClass(String.class));
@@ -113,8 +112,7 @@ public class ClassCodeGeneratorTest {
 
     @Test
     public void toStringTest() {
-        final GeneratedTOBuilder toBuilder = new GeneratedTOBuilderImpl(
-                "simple.pack", "DefCtor");
+        final GeneratedTOBuilder toBuilder = new CodegenGeneratedTOBuilder("simple.pack", "DefCtor");
 
         GeneratedPropertyBuilder propBuilder = toBuilder.addProperty("foo");
         propBuilder.setReturnType(Types.typeForClass(String.class));