Hide binding.model.api.DefaultType 66/96666/2
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Jun 2021 08:55:27 +0000 (10:55 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 25 Jun 2021 09:17:20 +0000 (11:17 +0200)
Expose DefaultType only from Type.of() static factory methods and adjust
its implementation to remove open-coded toString() methods.

Change-Id: Iaa3c0a7c117f12235a18e75512d9974403ab7f24
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
31 files changed:
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataContainerCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java
binding/mdsal-binding-generator-api/src/main/java/module-info.java
binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/AbstractType.java [moved from binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/AbstractBaseType.java with 50% similarity]
binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/DefaultType.java
binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/Type.java
binding/mdsal-binding-generator-api/src/test/java/org/opendaylight/mdsal/binding/model/api/TypeTest.java [moved from binding/mdsal-binding-generator-api/src/test/java/org/opendaylight/mdsal/binding/model/api/DefaultTypeTest.java with 72% similarity]
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ChoiceGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal269Test.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/Types.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractEnumerationBuilder.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractGeneratedTOBuilder.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/AbstractGeneratedType.java
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/AnnotationTypeBuilderImpl.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/CodegenGeneratedTypeBuilder.java
binding/mdsal-binding-generator-util/src/main/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/RuntimeGeneratedTypeBuilder.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/ConstantImplTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/EnumerationBuilderImplTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedPropertyBuilderImplTest.java
binding/mdsal-binding-generator-util/src/test/java/org/opendaylight/mdsal/binding/model/util/generated/type/builder/GeneratedPropertyImplTest.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/JavaFileTemplate.java
binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/AbstractBindingRuntimeContext.java

index 9ef6b5baf3e108eebaca97b01284dc188b74db71..6c99bc898843a94c8328db3a157e84543cdab272 100644 (file)
@@ -27,7 +27,7 @@ import org.opendaylight.mdsal.binding.dom.codec.api.IncorrectNestingException;
 import org.opendaylight.mdsal.binding.dom.codec.api.MissingClassInLoadingStrategyException;
 import org.opendaylight.mdsal.binding.dom.codec.api.MissingSchemaException;
 import org.opendaylight.mdsal.binding.dom.codec.api.MissingSchemaForClassException;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
+import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
 import org.opendaylight.yangtools.yang.binding.BindingObject;
@@ -212,7 +212,7 @@ abstract class DataContainerCodecContext<D extends DataObject, T extends WithSta
         }
 
         try {
-            runtimeContext.loadClass(DefaultType.of(childClass));
+            runtimeContext.loadClass(Type.of(childClass));
         } catch (final ClassNotFoundException e) {
             throw new MissingClassInLoadingStrategyException(
                 "User supplied class " + childClass.getName() + " is not available in " + runtimeContext, e);
index aa1339a633b6f5c8b82e7442e75025d4aa61a754..8e513b9cee14b6476f89da5d694f1ee562cccbce 100644 (file)
@@ -27,7 +27,6 @@ import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.binding.dom.codec.api.IncorrectNestingException;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
@@ -402,7 +401,7 @@ public abstract class DataObjectCodecContext<D extends DataObject, T extends Dat
         final BindingRuntimeContext ctx = factory().getRuntimeContext();
         final Class<?> loaded;
         try {
-            loaded = ctx.loadClass(DefaultType.of(cls));
+            loaded = ctx.loadClass(Type.of(cls));
         } catch (ClassNotFoundException e) {
             LOG.debug("Proposed {} cannot be loaded in {}", cls, ctx, e);
             return false;
index 90366bbc98c2337b6a8f94971a3ea1daf74c6eab..32fe968543c6443d1bbc13ad7ca082acc104ff44 100644 (file)
@@ -10,6 +10,7 @@ module org.opendaylight.mdsal.binding.generator.api {
     exports org.opendaylight.mdsal.binding.model.api;
     exports org.opendaylight.mdsal.binding.model.api.type.builder;
 
+    requires transitive org.opendaylight.yangtools.concepts;
     requires transitive org.opendaylight.yangtools.yang.model.api;
 
     // Annotations
similarity index 50%
rename from binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/AbstractBaseType.java
rename to binding/mdsal-binding-generator-api/src/main/java/org/opendaylight/mdsal/binding/model/api/AbstractType.java
index c0ba25d4477f892e8615a4449472b7e9f6a75b1b..f9c19c568d5e2e355e497b000bfe8120ed4c3826 100644 (file)
@@ -7,54 +7,31 @@
  */
 package org.opendaylight.mdsal.binding.model.api;
 
-import static java.util.Objects.requireNonNull;
-
 import com.google.common.annotations.Beta;
-import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable;
 
 /**
  * It is used only as ancestor for other <code>Type</code>s. Note this forms the equality domain over most types, please
  * consider joining the party.
  */
 @Beta
-public class AbstractBaseType implements Type {
-    /**
-     * Name of this <code>Type</code>.
-     */
-    private final @NonNull JavaTypeName identifier;
-
+public abstract class AbstractType extends AbstractSimpleIdentifiable<JavaTypeName> implements Type {
     /**
      * Constructs the instance of this class with a JavaTypeName.
      *
      * @param identifier for this <code>Type</code>
      */
-    protected AbstractBaseType(final JavaTypeName identifier) {
-        this.identifier = requireNonNull(identifier);
-    }
-
-    @Override
-    public final JavaTypeName getIdentifier() {
-        return this.identifier;
+    protected AbstractType(final JavaTypeName identifier) {
+        super(identifier);
     }
 
     @Override
     public final int hashCode() {
-        return identifier.hashCode();
+        return getIdentifier().hashCode();
     }
 
     @Override
     public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof Type)) {
-            return false;
-        }
-        return identifier.equals(((Type) obj).getIdentifier());
-    }
-
-    @Override
-    public String toString() {
-        return "Type (" + getFullyQualifiedName() + ")";
+        return this == obj || obj instanceof Type && getIdentifier().equals(((Type) obj).getIdentifier());
     }
 }
index 9e22ce2a4168803a9c8f8ac4e0a9dcc7c4bc2a3b..4211e9de2bec46c215c48c84a5f9e7ee952e5ea2 100644 (file)
@@ -7,28 +7,11 @@
  */
 package org.opendaylight.mdsal.binding.model.api;
 
-import com.google.common.annotations.Beta;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Identifiable;
-
 /**
  * Wraps combination of <code>packageName</code> and <code>name</code> to the object representation.
  */
-@Beta
-public final class DefaultType extends AbstractBaseType {
-    private DefaultType(final JavaTypeName identifier) {
+final class DefaultType extends AbstractType {
+    DefaultType(final JavaTypeName identifier) {
         super(identifier);
     }
-
-    public static @NonNull DefaultType of(final JavaTypeName identifier) {
-        return new DefaultType(identifier);
-    }
-
-    public static @NonNull DefaultType of(final Identifiable<JavaTypeName> type) {
-        return of(type.getIdentifier());
-    }
-
-    public static @NonNull Type of(final Class<?> type) {
-        return of(JavaTypeName.create(type));
-    }
 }
index c95bce565dc382a74ea6ee4f9b2b1d8fec5a5737..ef8b75d3a938436e49dc03e1c2aae391d277e1bd 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.binding.model.api;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.Identifiable;
 
 /**
@@ -49,4 +50,16 @@ public interface Type extends Identifiable<JavaTypeName> {
     default String getFullyQualifiedName() {
         return getIdentifier().toString();
     }
+
+    static @NonNull Type of(final JavaTypeName identifier) {
+        return new DefaultType(identifier);
+    }
+
+    static @NonNull Type of(final Identifiable<JavaTypeName> type) {
+        return of(type.getIdentifier());
+    }
+
+    static @NonNull Type of(final Class<?> type) {
+        return of(JavaTypeName.create(type));
+    }
 }
similarity index 72%
rename from binding/mdsal-binding-generator-api/src/test/java/org/opendaylight/mdsal/binding/model/api/DefaultTypeTest.java
rename to binding/mdsal-binding-generator-api/src/test/java/org/opendaylight/mdsal/binding/model/api/TypeTest.java
index 8b1c520ab7dadf6f4817094879777af85d0f60cf..d6e2983c16126c895a88e4831840a2d628a4399e 100644 (file)
@@ -12,16 +12,16 @@ import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
-public class DefaultTypeTest {
+public class TypeTest {
     @Test
     public void testCreateNewReferencedType() {
-        DefaultType refType = DefaultType.of(JavaTypeName.create("org.opendaylight.yangtools.test", "RefTypeTest"));
+        Type refType = Type.of(JavaTypeName.create("org.opendaylight.yangtools.test", "RefTypeTest"));
         assertEquals("RefTypeTest", refType.getName());
     }
 
     @Test
     public void testToStringMethod() {
-        DefaultType refType = DefaultType.of(JavaTypeName.create("org.opendaylight.yangtools.test", "RefTypeTest"));
+        Type refType = Type.of(JavaTypeName.create("org.opendaylight.yangtools.test", "RefTypeTest"));
         assertTrue(refType.toString().contains("RefTypeTest"));
     }
 }
index 69ef3c03353eb1f0f559be0b8fae21a6fffc7686..dbfa981e62ddd6eebd47a3656f34304b6632c5a8 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.mdsal.binding.generator.impl.reactor;
 
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
@@ -68,12 +67,12 @@ final class ActionGenerator extends AbstractCompositeGenerator<ActionEffectiveSt
         if (parent instanceof ListGenerator) {
             final KeyGenerator keyGen = ((ListGenerator) parent).keyGenerator();
             if (keyGen != null) {
-                return BindingTypes.keyedListAction(DefaultType.of(parent.typeName()),
-                    keyGen.getGeneratedType(builderFactory), input, output);
+                return BindingTypes.keyedListAction(Type.of(parent.typeName()), keyGen.getGeneratedType(builderFactory),
+                    input, output);
             }
         }
 
-        return BindingTypes.action(DefaultType.of(parent.typeName()), input, output);
+        return BindingTypes.action(Type.of(parent.typeName()), input, output);
     }
 
     @Override
index 07dc60b6ac8ffb74ca05ee543c219d440ea4fe79..87070ed976077ed3fff702864f25cbd6f80c225e 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.mdsal.binding.generator.impl.reactor;
 
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
+import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.mdsal.binding.model.util.BindingTypes;
 import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceEffectiveStatement;
@@ -30,7 +30,7 @@ final class ChoiceGenerator extends AbstractCompositeGenerator<ChoiceEffectiveSt
     @Override
     GeneratedType createTypeImpl(final TypeBuilderFactory builderFactory) {
         final GeneratedTypeBuilder builder = builderFactory.newGeneratedTypeBuilder(typeName());
-        builder.addImplementsType(BindingTypes.choiceIn(DefaultType.of(getParent().typeName())));
+        builder.addImplementsType(BindingTypes.choiceIn(Type.of(getParent().typeName())));
 
         final ModuleGenerator module = currentModule();
         module.addQNameConstant(builder, localName());
index e62f8540043b8f03d3218d4dafe302c17674a7b7..d1a51a7210c2900635015ded620042791fd79908 100644 (file)
@@ -25,7 +25,6 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.binding.generator.impl.reactor.CollisionDomain.Member;
 import org.opendaylight.mdsal.binding.model.api.AccessModifier;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
 import org.opendaylight.mdsal.binding.model.api.Type;
@@ -280,7 +279,7 @@ public abstract class Generator implements Iterable<Generator> {
             break;
         }
 
-        builder.addImplementsType(BindingTypes.childOf(DefaultType.of(ancestor.typeName())));
+        builder.addImplementsType(BindingTypes.childOf(Type.of(ancestor.typeName())));
     }
 
     /**
@@ -398,7 +397,7 @@ public abstract class Generator implements Iterable<Generator> {
      * @param builder Target builder
      */
     static final void defaultImplementedInterace(final GeneratedTypeBuilder builder) {
-        defineImplementedInterfaceMethod(builder, DefaultType.of(builder)).setDefault(true);
+        defineImplementedInterfaceMethod(builder, Type.of(builder)).setDefault(true);
     }
 
     static final <T extends EffectiveStatement<?, ?>> AbstractExplicitGenerator<T> getChild(final Generator parent,
index 3b27958ffc49143545cf9e389d972820a127d5fd..aacf7b2a1d4f8f14c9c10326fc9ad8731eb7abcb 100644 (file)
@@ -11,8 +11,8 @@ import static java.util.Objects.requireNonNull;
 
 import java.util.Set;
 import org.opendaylight.mdsal.binding.generator.impl.reactor.CollisionDomain.Member;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
+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.GeneratedTypeBuilderBase;
@@ -48,7 +48,7 @@ final class KeyGenerator extends AbstractExplicitGenerator<KeyEffectiveStatement
     GeneratedType createTypeImpl(final TypeBuilderFactory builderFactory) {
         final GeneratedTOBuilder builder = builderFactory.newGeneratedTOBuilder(typeName());
 
-        builder.addImplementsType(BindingTypes.identifier(DefaultType.of(listGen.typeName())));
+        builder.addImplementsType(BindingTypes.identifier(Type.of(listGen.typeName())));
 
         final Set<QName> leafNames = statement().argument();
         for (Generator listChild : listGen) {
index c1163093b82dfb688533c1d3d3dd78c51d775245..a29acb721a4c9a6adfdcb6b2edeba02d1c196e52 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.mdsal.binding.generator.impl.reactor;
 
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
@@ -62,7 +61,7 @@ final class NotificationGenerator extends AbstractCompositeGenerator<Notificatio
             return BindingTypes.NOTIFICATION;
         }
 
-        final Type parentType = DefaultType.of(parent.typeName());
+        final Type parentType = Type.of(parent.typeName());
         if (parent instanceof ListGenerator) {
             final KeyGenerator keyGen = ((ListGenerator) parent).keyGenerator();
             if (keyGen != null) {
index cb764fbcce233dd4b1b3856e749c2ca62faeb7b8..db8d5049ea3b0ddf5b728ade36905f51c3b7251f 100644 (file)
@@ -40,9 +40,9 @@ public class Mdsal269Test {
 
         assertEquals("mplsLabelGeneralUse", general.getName());
         assertEquals("org.opendaylight.yang.gen.v1.mdsal269.rev180130.MplsLabelGeneralUse",
-            general.getReturnType().toString());
+            general.getReturnType().getFullyQualifiedName());
 
         assertEquals("mplsLabelSpecialPurpose", special.getName());
-        assertEquals("Type (java.lang.Class)", special.getReturnType().toString());
+        assertEquals("java.lang.Class", special.getReturnType().getFullyQualifiedName());
     }
 }
index ffd707c7e86a57018f8f95dd62c5d22c381856f4..7f3107c1340129391c51fa338d31e5fc6ddf8eb4 100644 (file)
@@ -22,7 +22,6 @@ import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.mdsal.binding.model.api.ConcreteType;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.Enumeration;
 import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
@@ -306,7 +305,6 @@ public class TypeProviderTest {
 
         final Type leafrefResolvedType1 = provider.javaTypeForSchemaDefinitionType(leafType, leaf);
         assertNotNull(leafrefResolvedType1);
-        assertTrue(leafrefResolvedType1 instanceof DefaultType);
 
         final QName leafListNode = QName.create(module.getQNameModule(), "enums");
         final DataSchemaNode enumListNode = module.findDataChildByName(leafListNode).get();
@@ -324,13 +322,13 @@ public class TypeProviderTest {
             "resolve-direct-use-of-enum");
         final TypeDefinition<?> enumLeafTypedef = enumLeafNode.getType();
         provider.putReferencedType(enumLeafNode.getPath(),
-            DefaultType.of(provider.javaTypeForSchemaDefinitionType(enumLeafTypedef, enumLeafNode)));
+            Type.of(provider.javaTypeForSchemaDefinitionType(enumLeafTypedef, enumLeafNode)));
 
         final LeafListSchemaNode enumListNode = provideLeafListNodeFromTopLevelContainer(TEST_TYPE_PROVIDER,
             "foo", "list-of-enums");
         final TypeDefinition<?> enumLeafListTypedef = enumListNode.getType();
         provider.putReferencedType(enumListNode.getPath(),
-            DefaultType.of(provider.javaTypeForSchemaDefinitionType(enumLeafListTypedef, enumListNode)));
+            Type.of(provider.javaTypeForSchemaDefinitionType(enumLeafListTypedef, enumListNode)));
     }
 
     @Test
index e5e928b369bb17034d63ed48227793253a19cd2c..46460d9eb89ee738d41d9d02397126f8941ced8c 100644 (file)
@@ -27,7 +27,7 @@ import java.util.Optional;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.mdsal.binding.model.api.AbstractBaseType;
+import org.opendaylight.mdsal.binding.model.api.AbstractType;
 import org.opendaylight.mdsal.binding.model.api.BaseTypeWithRestrictions;
 import org.opendaylight.mdsal.binding.model.api.ConcreteType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
@@ -289,7 +289,7 @@ public final class Types {
     /**
      * Represents concrete JAVA type.
      */
-    private static final class ConcreteTypeImpl extends AbstractBaseType implements ConcreteType {
+    private static final class ConcreteTypeImpl extends AbstractType implements ConcreteType {
         private final Restrictions restrictions;
 
         /**
@@ -312,7 +312,7 @@ public final class Types {
     /**
      * Represents concrete JAVA type with changed restriction values.
      */
-    private static final class BaseTypeWithRestrictionsImpl extends AbstractBaseType implements
+    private static final class BaseTypeWithRestrictionsImpl extends AbstractType implements
             BaseTypeWithRestrictions {
         private final Restrictions restrictions;
 
@@ -336,7 +336,7 @@ public final class Types {
     /**
      * Represents parametrized JAVA type.
      */
-    private static class ParametrizedTypeImpl extends AbstractBaseType implements ParameterizedType {
+    private static class ParametrizedTypeImpl extends AbstractType implements ParameterizedType {
         /**
          * Array of JAVA actual type parameters.
          */
@@ -377,7 +377,7 @@ public final class Types {
     /**
      * Represents JAVA bounded wildcard type.
      */
-    private static class WildcardTypeImpl extends AbstractBaseType implements WildcardType {
+    private static class WildcardTypeImpl extends AbstractType implements WildcardType {
         /**
          * Creates instance of this class with concrete package and type name.
          *
index 476608c1b2d48d4d30b443f7b98240de6b60ce03..21d809706449e44fbaf31c0403bd1f842f3eb2a9 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -17,7 +18,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
-import org.opendaylight.mdsal.binding.model.api.AbstractBaseType;
+import org.opendaylight.mdsal.binding.model.api.AbstractType;
 import org.opendaylight.mdsal.binding.model.api.AnnotationType;
 import org.opendaylight.mdsal.binding.model.api.Constant;
 import org.opendaylight.mdsal.binding.model.api.Enumeration;
@@ -36,7 +37,7 @@ import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
 
 // FIXME: public because EnumBuilder does not have setters we are exposing
-public abstract class AbstractEnumerationBuilder extends AbstractBaseType implements EnumBuilder {
+public abstract class AbstractEnumerationBuilder extends AbstractType implements EnumBuilder {
     private List<Enumeration.Pair> values = ImmutableList.of();
     private List<AnnotationTypeBuilder> annotationBuilders = ImmutableList.of();
 
@@ -70,22 +71,9 @@ public abstract class AbstractEnumerationBuilder extends AbstractBaseType implem
     abstract AbstractPair createEnumPair(String name, String mappedName, int value, Status status, String description,
             String reference);
 
-    /*
-     * (non-Javadoc)
-     *
-     * @see java.lang.Object#toString()
-     */
     @Override
-    public final String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("EnumerationBuilderImpl [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-        builder.append(", values=");
-        builder.append(values);
-        builder.append("]");
-        return builder.toString();
+    protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return super.addToStringAttributes(toStringHelper).add("values", values);
     }
 
     @Override
@@ -161,7 +149,7 @@ public abstract class AbstractEnumerationBuilder extends AbstractBaseType implem
         }
     }
 
-    abstract static class AbstractEnumeration extends AbstractBaseType implements Enumeration {
+    abstract static class AbstractEnumeration extends AbstractType implements Enumeration {
         private final List<AnnotationType> annotations;
         private final List<Pair> values;
 
@@ -214,16 +202,8 @@ public abstract class AbstractEnumerationBuilder extends AbstractBaseType implem
         }
 
         @Override
-        public final String toString() {
-            final StringBuilder builder = new StringBuilder();
-            builder.append("Enumeration [packageName=");
-            builder.append(getPackageName());
-            builder.append(", name=");
-            builder.append(getName());
-            builder.append(", values=");
-            builder.append(this.values);
-            builder.append("]");
-            return builder.toString();
+        protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+            return super.addToStringAttributes(toStringHelper).add("values", values);
         }
 
         @Override
index e35905cbbd418acde0656dd92b573e7993ba040c..f8bdb4fc19bd09587e4032666e4f8df0efcdd391 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Preconditions;
 import java.util.Collections;
 import java.util.List;
@@ -91,30 +92,11 @@ abstract class AbstractGeneratedTOBuilder extends AbstractGeneratedTypeBuilder<G
     }
 
     @Override
-    public final String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("GeneratedTransferObject [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-        builder.append(", comment=");
-        builder.append(getComment());
-        builder.append(", constants=");
-        builder.append(getConstants());
-        builder.append(", enumerations=");
-        builder.append(getEnumerations());
-        builder.append(", equalsProperties=");
-        builder.append(this.equalsProperties);
-        builder.append(", hashCodeProperties=");
-        builder.append(this.hashProperties);
-        builder.append(", stringProperties=");
-        builder.append(this.toStringProperties);
-        builder.append(", annotations=");
-        builder.append(getAnnotations());
-        builder.append(", methods=");
-        builder.append(getMethodDefinitions());
-        builder.append("]");
-        return builder.toString();
+    protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return super.addToStringAttributes(toStringHelper)
+            .add("equalsProperties", equalsProperties)
+            .add("hashCodeProperties", hashProperties)
+            .add("stringProperties", toStringProperties);
     }
 
     @Override
@@ -211,44 +193,24 @@ abstract class AbstractGeneratedTOBuilder extends AbstractGeneratedTypeBuilder<G
         }
 
         @Override
-        public final String toString() {
-            if (this.isTypedef) {
-                return serializeTypedef(this);
-            }
-            final StringBuilder builder = new StringBuilder();
-            builder.append("GeneratedTransferObject [packageName=");
-            builder.append(getPackageName());
-            builder.append(", name=");
-            builder.append(getName());
-            builder.append(", comment=");
-            builder.append(", annotations=");
-            builder.append(getAnnotations());
-            builder.append(getComment());
-            builder.append(", extends=");
-            builder.append(getSuperType());
-            builder.append(", implements=");
-            builder.append(getImplements());
-            builder.append(", enclosedTypes=");
-            builder.append(getEnclosedTypes());
-            builder.append(", constants=");
-            builder.append(getConstantDefinitions());
-            builder.append(", enumerations=");
-            builder.append(getEnumerations());
-            builder.append(", properties=");
-            builder.append(getProperties());
-            builder.append(", equalsProperties=");
-            builder.append(this.equalsProperties);
-            builder.append(", hashCodeProperties=");
-            builder.append(this.hashCodeProperties);
-            builder.append(", stringProperties=");
-            builder.append(this.stringProperties);
-            builder.append(", methods=");
-            builder.append(getMethodDefinitions());
-            builder.append("]");
-            return builder.toString();
+        protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+            return super.addToStringAttributes(toStringHelper)
+                .omitNullValues()
+                .add("annotations", getAnnotations())
+                .add("comment", getComment())
+                .add("extends", getSuperType())
+                .add("implements", getImplements())
+                .add("enclosedTypes", getEnclosedTypes())
+                .add("constants", getConstantDefinitions())
+                .add("enumerations", getEnumerations())
+                .add("properties", getProperties())
+                .add("equalsProperties", equalsProperties)
+                .add("hashCodeProperties", hashCodeProperties)
+                .add("stringProperties", stringProperties)
+                .add("methods", getMethodDefinitions());
         }
 
-        public final String serializeTypedef(final Type type) {
+        public static final String serializeTypedef(final Type type) {
             if (!(type instanceof ParameterizedType)) {
                 return type.getFullyQualifiedName();
             }
index cc03fcf0ace88d55eca628a134c08e7312cf2675..159df1138808c14d625b2c35966ed43c9bd30e2b 100644 (file)
@@ -7,13 +7,14 @@
  */
 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Optional;
 import java.util.Set;
-import org.opendaylight.mdsal.binding.model.api.AbstractBaseType;
+import org.opendaylight.mdsal.binding.model.api.AbstractType;
 import org.opendaylight.mdsal.binding.model.api.AnnotationType;
 import org.opendaylight.mdsal.binding.model.api.Constant;
 import org.opendaylight.mdsal.binding.model.api.Enumeration;
@@ -31,8 +32,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
 
-abstract class AbstractGeneratedType extends AbstractBaseType implements GeneratedType {
-
+abstract class AbstractGeneratedType extends AbstractType implements GeneratedType {
     private final TypeComment comment;
     private final List<AnnotationType> annotations;
     private final List<Type> implementsTypes;
@@ -212,25 +212,14 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat
     }
 
     @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("GeneratedType [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-        builder.append(", comment=");
-        builder.append(this.comment);
-        builder.append(", annotations=");
-        builder.append(this.annotations);
-        builder.append(", enclosedTypes=");
-        builder.append(this.enclosedTypes);
-        builder.append(", enumerations=");
-        builder.append(this.enumerations);
-        builder.append(", constants=");
-        builder.append(this.constants);
-        builder.append(", methodSignatures=");
-        builder.append(this.methodSignatures);
-        builder.append("]");
-        return builder.toString();
+    protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return super.addToStringAttributes(toStringHelper)
+            .omitNullValues()
+            .add("comment", comment)
+            .add("annotations", annotations)
+            .add("enclosedTypes", enclosedTypes)
+            .add("enumerations", enumerations)
+            .add("constants", constants)
+            .add("methodSignatures", methodSignatures);
     }
 }
index b63554e1f3d3787b96319b7df9d83acb8abd2abe..8c86f959dff1f99947ad1d376a9a1b3e101fbc73 100644 (file)
@@ -10,10 +10,11 @@ package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
-import org.opendaylight.mdsal.binding.model.api.AbstractBaseType;
+import org.opendaylight.mdsal.binding.model.api.AbstractType;
 import org.opendaylight.mdsal.binding.model.api.AccessModifier;
 import org.opendaylight.mdsal.binding.model.api.Constant;
 import org.opendaylight.mdsal.binding.model.api.Enumeration;
@@ -28,7 +29,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde
 import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder;
 import org.opendaylight.yangtools.util.LazyCollections;
 
-abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T>> extends AbstractBaseType
+abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T>> extends AbstractType
         implements GeneratedTypeBuilderBase<T> {
 
     private List<AnnotationTypeBuilder> annotationBuilders = Collections.emptyList();
@@ -214,9 +215,19 @@ abstract class AbstractGeneratedTypeBuilder<T extends GeneratedTypeBuilderBase<T
         return Optional.ofNullable(yangSourceDefinition);
     }
 
-
     @Override
     public void setYangSourceDefinition(final YangSourceDefinition definition) {
         yangSourceDefinition = requireNonNull(definition);
     }
+
+    @Override
+    protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return super.addToStringAttributes(toStringHelper).omitNullValues()
+            .add("comment", comment == null ? null : comment.getJavadoc())
+            .add("constants", constants)
+            .add("enumerations", enumDefinitions)
+            .add("methods", methodDefinitions)
+            .add("annotations", annotationBuilders)
+            .add("implements", implementsTypes);
+    }
 }
index 05c95df3d7cb1797a97a5c2084ab7e7fd9ab85d7..6e9b49813cc2732cfc631afac371fd7e3ef630b3 100644 (file)
@@ -7,18 +7,19 @@
  */
 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
-import org.opendaylight.mdsal.binding.model.api.AbstractBaseType;
+import org.opendaylight.mdsal.binding.model.api.AbstractType;
 import org.opendaylight.mdsal.binding.model.api.AnnotationType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
 import org.opendaylight.mdsal.binding.model.api.type.builder.AnnotationTypeBuilder;
 import org.opendaylight.yangtools.util.LazyCollections;
 
-final class AnnotationTypeBuilderImpl extends AbstractBaseType implements AnnotationTypeBuilder {
+final class AnnotationTypeBuilderImpl extends AbstractType implements AnnotationTypeBuilder {
 
     private List<AnnotationTypeBuilder> annotationBuilders = Collections.emptyList();
     private List<AnnotationType.Parameter> parameters = Collections.emptyList();
@@ -71,21 +72,14 @@ final class AnnotationTypeBuilderImpl extends AbstractBaseType implements Annota
     }
 
     @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("AnnotationTypeBuilder [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-        builder.append(", annotationBuilders=");
-        builder.append(this.annotationBuilders);
-        builder.append(", parameters=");
-        builder.append(this.parameters);
-        builder.append("]");
-        return builder.toString();
+    protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return super.addToStringAttributes(toStringHelper)
+            .omitNullValues()
+            .add("annotationBuilders", annotationBuilders)
+            .add("parameters", parameters);
     }
 
-    private static final class AnnotationTypeImpl extends AbstractBaseType implements AnnotationType {
+    private static final class AnnotationTypeImpl extends AbstractType implements AnnotationType {
         private final List<AnnotationType> annotations;
         private final List<AnnotationType.Parameter> parameters;
         private final List<String> paramNames;
@@ -142,18 +136,11 @@ final class AnnotationTypeBuilderImpl extends AbstractBaseType implements Annota
         }
 
         @Override
-        public String toString() {
-            final StringBuilder builder = new StringBuilder();
-            builder.append("AnnotationType [packageName=");
-            builder.append(getPackageName());
-            builder.append(", name=");
-            builder.append(getName());
-            builder.append(", annotations=");
-            builder.append(this.annotations);
-            builder.append(", parameters=");
-            builder.append(this.parameters);
-            builder.append("]");
-            return builder.toString();
+        protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+            return super.addToStringAttributes(toStringHelper)
+                .omitNullValues()
+                .add("annotations", annotations)
+                .add("parameters", parameters);
         }
     }
 
index f86612d7adfb4dffe1aeb1a2a2628969e432e6bc..6051cfabf52f3ef46a14892e35235e5b5c4ab0c1 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
-import org.opendaylight.mdsal.binding.model.api.TypeComment;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -47,34 +46,6 @@ public final class CodegenGeneratedTypeBuilder extends AbstractGeneratedTypeBuil
         this.reference = reference;
     }
 
-    @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("GeneratedTransferObject [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-
-        final TypeComment comment = getComment();
-        if (comment != null) {
-            builder.append(", comment=");
-            builder.append(comment.getJavadoc());
-        }
-        builder.append(", annotations=");
-        builder.append(getAnnotations());
-        builder.append(", implements=");
-        builder.append(getImplementsTypes());
-        builder.append(", constants=");
-        builder.append(getConstants());
-        builder.append(", enumerations=");
-        builder.append(getEnumerations());
-        builder.append(", properties=");
-        builder.append(", methods=");
-        builder.append(getMethodDefinitions());
-        builder.append("]");
-        return builder.toString();
-    }
-
     @Override
     public GeneratedType build() {
         return new GeneratedTypeImpl(this);
index a571b7db50a84558fdf81525a7cfad46a09727fb..2aebce7380508aa61efee528efaa624515ec276b 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
-import org.opendaylight.mdsal.binding.model.api.TypeComment;
 import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -47,34 +46,6 @@ public final class RuntimeGeneratedTypeBuilder extends AbstractGeneratedTypeBuil
         // No-op
     }
 
-    @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("GeneratedTransferObject [packageName=");
-        builder.append(getPackageName());
-        builder.append(", name=");
-        builder.append(getName());
-
-        final TypeComment comment = getComment();
-        if (comment != null) {
-            builder.append(", comment=");
-            builder.append(comment.getJavadoc());
-        }
-        builder.append(", annotations=");
-        builder.append(getAnnotations());
-        builder.append(", implements=");
-        builder.append(getImplementsTypes());
-        builder.append(", constants=");
-        builder.append(getConstants());
-        builder.append(", enumerations=");
-        builder.append(getEnumerations());
-        builder.append(", properties=");
-        builder.append(", methods=");
-        builder.append(getMethodDefinitions());
-        builder.append("]");
-        return builder.toString();
-    }
-
     @Override
     protected RuntimeGeneratedTypeBuilder thisInstance() {
         return this;
index cfadb5b3c9816304afc11177dbf758a0e2afabcc..c731320cec6244b068d8ebb679299fafab798be3 100644 (file)
@@ -405,17 +405,17 @@ public class AnnotationBuilderTest {
         annotationTypeBuilder.addAnnotation("my.package", "MySubAnnotationName");
         annotationTypeBuilder.addParameter("MyParameter", "myValue");
 
-        assertEquals("AnnotationTypeBuilder [packageName=my.package, name=MyAnnotationName, "
-                + "annotationBuilders=[AnnotationTypeBuilder [packageName=my.package, name=MySubAnnotationName, "
-                + "annotationBuilders=[], parameters=[]]], parameters=[ParameterImpl [name=MyParameter, value=myValue, "
-                + "values=[]]]]", annotationTypeBuilder.toString());
+        assertEquals("AnnotationTypeBuilderImpl{identifier=my.package.MyAnnotationName, "
+            + "annotationBuilders=[AnnotationTypeBuilderImpl{identifier=my.package.MySubAnnotationName, "
+            + "annotationBuilders=[], parameters=[]}], parameters=[ParameterImpl [name=MyParameter, value=myValue, "
+            + "values=[]]]}", annotationTypeBuilder.toString());
 
         AnnotationType annotationTypeInstance = annotationTypeBuilder.build();
 
         assertEquals("my.package.MyAnnotationName", annotationTypeInstance.getFullyQualifiedName());
-        assertEquals("AnnotationType [packageName=my.package, name=MyAnnotationName, annotations=[AnnotationType "
-                + "[packageName=my.package, name=MySubAnnotationName, annotations=[], parameters=[]]], "
-                + "parameters=[ParameterImpl [name=MyParameter, value=myValue, values=[]]]]",
+        assertEquals("AnnotationTypeImpl{identifier=my.package.MyAnnotationName, "
+            + "annotations=[AnnotationTypeImpl{identifier=my.package.MySubAnnotationName, annotations=[], "
+            + "parameters=[]}], parameters=[ParameterImpl [name=MyParameter, value=myValue, values=[]]]}",
                 annotationTypeInstance.toString());
 
     }
index dd48d42d0efa16315c9c28991a348bfb255bedd0..eadbd42bf4a0941e2937660f4ee66bb9c8c18b5e 100644 (file)
@@ -7,8 +7,6 @@
  */
 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -32,7 +30,10 @@ public class ConstantImplTest {
         assertEquals("BaseType", constImpl.getType().getName());
         assertEquals("IpAddress", constImpl.getName());
         assertEquals("127.0.0.1", constImpl.getValue());
-        assertThat(constImpl.toString(), containsString("GeneratedTransferObject"));
+        assertEquals(
+            "Constant [type=CodegenGeneratedTypeBuilder{identifier=org.opendaylight.yangtools.test.v1.BaseType, "
+                + "constants=[], enumerations=[], methods=[], annotations=[], implements=[]}, name=IpAddress, "
+                + "value=127.0.0.1]", constImpl.toString());
         assertEquals(constImpl.hashCode(), constImpl2.hashCode());
         assertNotNull(constImpl.getType());
         assertNotNull(constImpl.getName());
index 8f486030bd2b5fc5b320724d80d1041162b5032e..410f0e9ff34942e686a8c6085b23244236bbbcc5 100644 (file)
@@ -131,15 +131,14 @@ public class EnumerationBuilderImplTest {
 
     @Test
     public void testEnumerationToString() {
-        assertEquals("Enumeration [packageName=" + packageName + ", name=" + name
-            + ", values=[EnumPair [name=TestValue, mappedName=TestValue, value=12]]]", enumeration.toString());
+        assertEquals("EnumerationImpl{identifier=org.opendaylight.test.TestName, "
+            + "values=[EnumPair [name=TestValue, mappedName=TestValue, value=12]]}", enumeration.toString());
         assertEquals("public enum " + name + " {\n"
             + "\t TestValue " + "(12 );\n"
             + "}", enumeration.toFormattedString());
 
-        assertEquals("EnumerationBuilderImpl [packageName=org.opendaylight.test, name=TestName, "
-                + "values=[EnumPair [name=TestValue, mappedName=TestValue, value=12]]]",
-                enumerationBuilder.toString());
+        assertEquals("CodegenEnumerationBuilder{identifier=org.opendaylight.test.TestName, "
+            + "values=[EnumPair [name=TestValue, mappedName=TestValue, value=12]]}", enumerationBuilder.toString());
     }
 
     @Test
index 36e5ae6b1cd8026ff54f4fde5e281299533093ae..24e2db20242a95f99177985626df891e7e2a0ace 100644 (file)
@@ -31,9 +31,9 @@ public class GeneratedPropertyBuilderImplTest {
         generatedPropertyBuilderImpl.setAccessModifier(AccessModifier.PUBLIC);
         generatedPropertyBuilderImpl.setReturnType(Types.BOOLEAN);
 
-        assertEquals("GeneratedPropertyImpl [name=myPropertyName, annotations=[], comment=null, returnType=Type "
-                + "(java.lang.Boolean), isFinal=true, isReadOnly=false, modifier=PUBLIC]",
-                generatedPropertyBuilderImpl.toString());
+        assertEquals("GeneratedPropertyImpl [name=myPropertyName, annotations=[], comment=null, "
+            + "returnType=ConcreteTypeImpl{identifier=java.lang.Boolean}, isFinal=true, isReadOnly=false, "
+            + "modifier=PUBLIC]", generatedPropertyBuilderImpl.toString());
 
         GeneratedProperty instance = generatedPropertyBuilderImpl.toInstance();
 
index 31ca9b26d304a55118956f79d495d20b85de25d6..fee94929fad383e6885df9dc499e4f318c27271c 100644 (file)
@@ -45,7 +45,7 @@ public class GeneratedPropertyImplTest {
 
         assertEquals("GeneratedPropertyImpl [name=myPropertyName, annotations=[], "
             + "comment=TypeMemberComment{contract=myComment}, "
-            + "returnType=Type (java.lang.Boolean), isFinal=true, isReadOnly=false, "
+            + "returnType=ConcreteTypeImpl{identifier=java.lang.Boolean}, isFinal=true, isReadOnly=false, "
             + "modifier=PUBLIC]", instance.toString());
     }
 
index c72d82cdbe2d34c5405053894bd8eeb6dd769517..aa30fd1a7339a212faca54c78a6f8cfc63131875 100644 (file)
@@ -7,9 +7,9 @@
  */
 package org.opendaylight.mdsal.binding.model.util.generated.type.builder;
 
-import static org.junit.Assert.assertFalse;
+import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
@@ -46,8 +46,8 @@ public class GeneratedTOBuilderTest {
     public void testToString() {
         final GeneratedTOBuilder genTypeBuilder = new CodegenGeneratedTOBuilder(
             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
-        String toString = genTypeBuilder.toString();
-        assertTrue(toString.contains("GeneratedTransferObject"));
+        assertThat(genTypeBuilder.toString(),
+            startsWith("CodegenGeneratedTOBuilder{identifier=org.opendaylight.controller.AnnotClassCache"));
     }
 
     @Test
@@ -55,18 +55,7 @@ public class GeneratedTOBuilderTest {
         final GeneratedTOBuilder genTypeBuilder1 = new CodegenGeneratedTOBuilder(
             JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
 
-        genTypeBuilder1.setTypedef(true);
         GeneratedTransferObject genTO = genTypeBuilder1.build();
-        String toString = genTO.toString();
-        assertFalse(toString.contains("GeneratedTransferObject"));
-
-        final GeneratedTOBuilder genTypeBuilder2 = new CodegenGeneratedTOBuilder(
-            JavaTypeName.create("org.opendaylight.controller", "AnnotClassCache"));
-
-        genTypeBuilder2.setTypedef(false);
-        genTO = genTypeBuilder2.build();
-        toString = genTO.toString();
-
-        assertTrue(toString.contains("GeneratedTransferObject"));
+        assertThat(genTO.toString(), startsWith("GTO{identifier=org.opendaylight.controller.AnnotClassCache"));
     }
 }
index fc99c72f7fa330c1c5156912e321ccc52f341a7e..4a02275d46fb391bdfbf0f58c2b27141e1119538 100644 (file)
@@ -77,7 +77,8 @@ public class GeneratedTypeBuilderTest {
         assertFalse(constant.hashCode() == constant4.hashCode());
         assertTrue(constant.hashCode() == constant5.hashCode());
 
-        assertEquals("Constant [type=Type (java.lang.String), name=myConstant, value=myConstantValue]",
+        assertEquals(
+            "Constant [type=ConcreteTypeImpl{identifier=java.lang.String}, name=myConstant, value=myConstantValue]",
             constant.toString());
 
         GeneratedType instance = generatedTypeBuilder.build();
@@ -289,10 +290,8 @@ public class GeneratedTypeBuilderTest {
         generatedTypeBuilder.setSchemaPath(SchemaPath.create(true, QName.create("test", "path")));
         assertNotNull(generatedTypeBuilder.addComment(TypeComments.javadoc("My comment..").get()));
 
-        assertEquals(
-                "GeneratedTransferObject [packageName=my.package, name=MyName, comment=My comment.., annotations=[], "
-                        + "implements=[], constants=[], enumerations=[], properties=, methods=[]]",
-                        generatedTypeBuilder.toString());
+        assertEquals("CodegenGeneratedTypeBuilder{identifier=my.package.MyName, comment=My comment.., constants=[], "
+            + "enumerations=[], methods=[], annotations=[], implements=[]}", generatedTypeBuilder.toString());
 
         GeneratedType instance = generatedTypeBuilder.build();
 
index e56923324a55218dca89b2ba0e1ca500aef46e3d..528a714cf080cd1fff334fd806fe308e49cdcc16 100644 (file)
@@ -35,7 +35,6 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.xtext.xbase.lib.StringExtensions;
 import org.opendaylight.mdsal.binding.model.api.AnnotationType;
 import org.opendaylight.mdsal.binding.model.api.ConcreteType;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedProperty;
 import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
@@ -137,7 +136,7 @@ class JavaFileTemplate {
             throw new ExceptionInInitializerError(e);
         }
 
-        AUGMENTATION_RET_TYPE = DefaultType.of(JavaTypeName.create(m.getReturnType()));
+        AUGMENTATION_RET_TYPE = Type.of(JavaTypeName.create(m.getReturnType()));
     }
 
     private final AbstractJavaGeneratedType javaType;
@@ -306,7 +305,7 @@ class JavaFileTemplate {
                     augmentType = t;
                 }
             } else if (Augmentable.class.getName().equals(implementedIfc.getFullyQualifiedName())) {
-                augmentType = Types.parameterizedTypeFor(AUGMENTATION_RET_TYPE, DefaultType.of(type.getIdentifier()));
+                augmentType = Types.parameterizedTypeFor(AUGMENTATION_RET_TYPE, Type.of(type.getIdentifier()));
             }
         }
 
index 3f49ad8d5d2f316001a029b3f69049b776e8d5ce..80e05a7294973ffd25c90714911fea4d10c630b7 100644 (file)
@@ -27,7 +27,6 @@ import java.util.Optional;
 import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.mdsal.binding.model.api.DefaultType;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.MethodSignature;
 import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
@@ -80,7 +79,7 @@ public abstract class AbstractBindingRuntimeContext implements BindingRuntimeCon
 
     @Override
     public final <T extends Augmentation<?>> AugmentationSchemaNode getAugmentationDefinition(final Class<T> augClass) {
-        return getTypes().findAugmentation(DefaultType.of(augClass)).orElse(null);
+        return getTypes().findAugmentation(Type.of(augClass)).orElse(null);
     }
 
     @Override
@@ -88,17 +87,17 @@ public abstract class AbstractBindingRuntimeContext implements BindingRuntimeCon
         checkArgument(!Augmentation.class.isAssignableFrom(cls), "Supplied class must not be an augmentation (%s is)",
             cls);
         checkArgument(!Action.class.isAssignableFrom(cls), "Supplied class must not be an action (%s is)", cls);
-        return (DataSchemaNode) getTypes().findSchema(DefaultType.of(cls)).orElse(null);
+        return (DataSchemaNode) getTypes().findSchema(Type.of(cls)).orElse(null);
     }
 
     @Override
     public final ActionDefinition getActionDefinition(final Class<? extends Action<?, ?, ?>> cls) {
-        return (ActionDefinition) getTypes().findSchema(DefaultType.of(cls)).orElse(null);
+        return (ActionDefinition) getTypes().findSchema(Type.of(cls)).orElse(null);
     }
 
     @Override
     public final Absolute getActionIdentifier(final Class<? extends Action<?, ?, ?>> cls) {
-        return getTypes().findSchemaNodeIdentifier(DefaultType.of(cls)).orElse(null);
+        return getTypes().findSchemaNodeIdentifier(Type.of(cls)).orElse(null);
     }
 
     @Override
@@ -158,7 +157,7 @@ public abstract class AbstractBindingRuntimeContext implements BindingRuntimeCon
 
     @Override
     public final Entry<GeneratedType, WithStatus> getTypeWithSchema(final Class<?> type) {
-        return getTypeWithSchema(getTypes(), DefaultType.of(type));
+        return getTypeWithSchema(getTypes(), Type.of(type));
     }
 
     private static @NonNull Entry<GeneratedType, WithStatus> getTypeWithSchema(final BindingRuntimeTypes types,
@@ -207,7 +206,7 @@ public abstract class AbstractBindingRuntimeContext implements BindingRuntimeCon
 
     @Override
     public final Set<Class<?>> getCases(final Class<?> choice) {
-        final Collection<Type> cazes = getTypes().findCases(DefaultType.of(choice));
+        final Collection<Type> cazes = getTypes().findCases(Type.of(choice));
         final Set<Class<?>> ret = new HashSet<>(cazes.size());
         for (final Type caze : cazes) {
             try {