X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-generator-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fbinding%2Fgenerator%2Futil%2FTypes.java;fp=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-generator-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fbinding%2Fgenerator%2Futil%2FTypes.java;h=2e5bbf0a07a6f0a73d41af7f92c510880aae6963;hb=e39258373ef182875663387894f6083d8113ef60;hp=26be94351c67b9db724d7fd27a44abfbf26c9051;hpb=a473dbd2a72e49c11b7a9943d617f3908989aa46;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/Types.java b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/Types.java index 26be94351c..2e5bbf0a07 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/Types.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/Types.java @@ -11,11 +11,15 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.opendaylight.controller.binding.generator.util.generated.type.builder.GeneratedTOBuilderImpl; import org.opendaylight.controller.sal.binding.model.api.ConcreteType; +import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject; import org.opendaylight.controller.sal.binding.model.api.ParameterizedType; import org.opendaylight.controller.sal.binding.model.api.Type; +import org.opendaylight.controller.sal.binding.model.api.WildcardType; import org.opendaylight.controller.yang.binding.Augmentable; import org.opendaylight.controller.yang.binding.Augmentation; +import org.opendaylight.controller.yang.binding.BaseIdentity; import org.opendaylight.controller.yang.binding.DataObject; public final class Types { @@ -36,7 +40,7 @@ public final class Types { /** * Returns an instance of {@link ConcreteType} describing the class - * + * * @param cls * Class to describe * @return Description of class @@ -49,7 +53,7 @@ public final class Types { /** * Returns an instance of {@link ParameterizedType} describing the typed * {@link Map} - * + * * @param keyType * Key Type * @param valueType @@ -63,7 +67,7 @@ public final class Types { /** * Returns an instance of {@link ParameterizedType} describing the typed * {@link Set} with concrete type of value. - * + * * @param valueType * Value Type * @return Description of generic type instance of Set @@ -75,7 +79,7 @@ public final class Types { /** * Returns an instance of {@link ParameterizedType} describing the typed * {@link List} with concrete type of value. - * + * * @param valueType * Value Type * @return Description of type instance of List @@ -84,8 +88,15 @@ public final class Types { return parameterizedTypeFor(LIST_TYPE, valueType); } + public static GeneratedTransferObject getBaseIdentityTO() { + Class cls = BaseIdentity.class; + GeneratedTOBuilderImpl gto = new GeneratedTOBuilderImpl(cls.getPackage().getName(), + cls.getSimpleName()); + return gto.toInstance(); + } + /** - * + * * @param type * @param parameters * @return @@ -94,17 +105,21 @@ public final class Types { Type... parameters) { return new ParametrizedTypeImpl(type, parameters); } - + + public static WildcardType wildcardTypeFor(String packageName, String typeName) { + return new WildcardTypeImpl(packageName, typeName); + } + public static ParameterizedType augmentableTypeFor(Type valueType) { final Type augmentable = typeForClass(Augmentable.class); return parameterizedTypeFor(augmentable, valueType); } - + public static ParameterizedType augmentationTypeFor(Type valueType) { final Type augmentation = typeForClass(Augmentation.class); return parameterizedTypeFor(augmentation, valueType); } - + private static class ConcreteTypeImpl extends AbstractBaseType implements ConcreteType { private ConcreteTypeImpl(String pkName, String name) { @@ -135,4 +150,12 @@ public final class Types { } } + + private static class WildcardTypeImpl extends AbstractBaseType + implements WildcardType { + public WildcardTypeImpl(String packageName, String typeName) { + super(packageName, typeName); + } + } + }