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
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