Add Types.isListType(ParameterizedType)
[mdsal.git] / binding / mdsal-binding-generator-util / src / main / java / org / opendaylight / mdsal / binding / model / util / Types.java
index e3e199e7ae072552aadf28af3876547669273e82..2dec3dae45f8b07373058d1d9cd6cfc4eeb953b3 100644 (file)
@@ -65,6 +65,9 @@ public final class Types {
     private static final @NonNull ConcreteType SERIALIZABLE = typeForClass(Serializable.class);
     private static final @NonNull ConcreteType SET_TYPE = typeForClass(Set.class);
 
+    private static final @NonNull ConcreteType AUGMENTABLE = typeForClass(Augmentable.class);
+    private static final @NonNull ConcreteType AUGMENTATION = typeForClass(Augmentation.class);
+
     /**
      * It is not desirable to create instance of this class.
      */
@@ -175,8 +178,12 @@ public final class Types {
         return parameterizedTypeFor(LIST_TYPE, valueType);
     }
 
+    public static boolean isListType(final ParameterizedType type) {
+        return LIST_TYPE.equals(type.getRawType());
+    }
+
     public static boolean isListType(final Type type) {
-        return type instanceof ParameterizedType && LIST_TYPE.equals(((ParameterizedType) type).getRawType());
+        return type instanceof ParameterizedType && isListType((ParameterizedType) type);
     }
 
     /**
@@ -236,8 +243,7 @@ public final class Types {
      *         <code>valueType</code>
      */
     public static @NonNull ParameterizedType augmentableTypeFor(final Type valueType) {
-        final Type augmentable = typeForClass(Augmentable.class);
-        return parameterizedTypeFor(augmentable, valueType);
+        return parameterizedTypeFor(AUGMENTABLE, valueType);
     }
 
     /**
@@ -251,8 +257,7 @@ public final class Types {
      *         <code>valueType</code>
      */
     public static @NonNull ParameterizedType augmentationTypeFor(final Type valueType) {
-        final Type augmentation = typeForClass(Augmentation.class);
-        return parameterizedTypeFor(augmentation, valueType);
+        return parameterizedTypeFor(AUGMENTATION, valueType);
     }
 
     public static @Nullable String getOuterClassName(final Type valueType) {