Added support for resolving augmentations.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-generator-util / src / main / java / org / opendaylight / controller / binding / generator / util / Types.java
index 8c65b4a26cc20f60309311c48f8fd800c25694ec..87bb47cb76e6819f9b93fd0180154b4545c25bd8 100644 (file)
@@ -14,12 +14,17 @@ import java.util.Set;
 import org.opendaylight.controller.sal.binding.model.api.ConcreteType;\r
 import org.opendaylight.controller.sal.binding.model.api.ParameterizedType;\r
 import org.opendaylight.controller.sal.binding.model.api.Type;\r
+import org.opendaylight.controller.yang.binding.Augmentable;\r
+import org.opendaylight.controller.yang.binding.Augmentation;\r
+import org.opendaylight.controller.yang.binding.DataObject;\r
 \r
 public class Types {\r
     private static final Type SET_TYPE = typeForClass(Set.class);\r
     private static final Type LIST_TYPE = typeForClass(List.class);\r
     private static final Type MAP_TYPE = typeForClass(Map.class);\r
-\r
+    \r
+    public static final Type DATA_OBJECT = typeForClass(DataObject.class);\r
+    \r
     private Types() {\r
     }\r
 \r
@@ -88,7 +93,17 @@ public class Types {
             Type... parameters) {\r
         return new ParametrizedTypeImpl(type, parameters);\r
     }\r
-\r
+    \r
+    public static ParameterizedType augmentableTypeFor(Type valueType) {\r
+        final Type augmentable = typeForClass(Augmentable.class);\r
+        return parameterizedTypeFor(augmentable, valueType);\r
+    }\r
+    \r
+    public static ParameterizedType augmentationTypeFor(Type valueType) {\r
+        final Type augmentation = typeForClass(Augmentation.class);\r
+        return parameterizedTypeFor(augmentation, valueType);\r
+    }\r
+    \r
     private static class ConcreteTypeImpl extends AbstractBaseType implements\r
             ConcreteType {\r
         private ConcreteTypeImpl(String pkName, String name) {\r