Switch to Objects.requireNonNull
[mdsal.git] / binding2 / mdsal-binding2-java-api-generator / src / main / java / org / opendaylight / mdsal / binding / javav2 / java / api / generator / renderers / ClassRenderer.java
index e4900b8352ae42f31ebb14908f70d18dcf824536..962955900d3095f783de7e374c2bc7b62234b745 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers;
 
+import static java.util.Objects.requireNonNull;
 import static org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.fieldName;
 import static org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.setterMethod;
 
@@ -16,19 +17,18 @@ import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import com.google.common.io.BaseEncoding;
+
 import java.beans.ConstructorProperties;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
-import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.AbstractRangeGenerator;
-import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.LengthGenerator;
+
+import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.AbstractRangeGenerator;
+import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.LengthGenerator;
 import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplate;
 import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplateConstructors;
 import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplateRestrictions;
@@ -42,6 +42,10 @@ import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.javav2.model.api.Restrictions;
 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint64;
+import org.opendaylight.yangtools.yang.common.Uint8;
 
 public class ClassRenderer extends BaseRenderer {
     protected final GeneratedTransferObject genTO;
@@ -75,12 +79,12 @@ public class ClassRenderer extends BaseRenderer {
             final String name1 = p2.getName();
             return name.compareTo(name1);
         };
-        Collections.sort(sorted, function);
+        sorted.sort(function);
         allProperties = ImmutableList.copyOf(sorted);
 
         if (restrictions != null && restrictions.getRangeConstraint().isPresent()) {
             rangeGenerator = AbstractRangeGenerator.forType(findProperty(genType, "value").getReturnType());
-            Preconditions.checkNotNull(rangeGenerator);
+            requireNonNull(rangeGenerator);
         } else {
             rangeGenerator = null;
         }
@@ -139,6 +143,10 @@ public class ClassRenderer extends BaseRenderer {
         getImportedNames().put("short", importedName(Short.class));
         getImportedNames().put("integer", importedName(Integer.class));
         getImportedNames().put("long", importedName(Long.class));
+        getImportedNames().put("uint8", importedName(Uint8.class));
+        getImportedNames().put("uint16", importedName(Uint16.class));
+        getImportedNames().put("uint32", importedName(Uint32.class));
+        getImportedNames().put("uint64", importedName(Uint64.class));
         getImportedNames().put("stringBuilder", importedName(StringBuilder.class));
         getImportedNames().put("list", importedName(List.class));
         getImportedNames().put("lists", importedName(Lists.class));
@@ -158,7 +166,7 @@ public class ClassRenderer extends BaseRenderer {
         if (!enclosedGeneratedTypes.isEmpty()) {
             for (GeneratedType innerClass : enclosedGeneratedTypes) {
                 if (innerClass instanceof GeneratedTransferObject) {
-                    classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject)innerClass));
+                    classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject) innerClass));
                 }
             }
         }
@@ -172,7 +180,8 @@ public class ClassRenderer extends BaseRenderer {
         }
         final String enumerations = String.join("\n", enumList);
 
-        final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false).body();
+        final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false)
+                .body();
 
         if (genTO.getSuperType() != null) {
             getImportedNames().put("superType", importedName(genTO.getSuperType()));
@@ -214,7 +223,8 @@ public class ClassRenderer extends BaseRenderer {
         final String fields = sb2.toString();
         getImportedNames().put("baseEncoding", importedName(BaseEncoding.class));
         if (!allProperties.isEmpty()) {
-            getImportedNames().put("defProp", importedName(((GeneratedProperty)((List) allProperties).get(0)).getReturnType()));
+            getImportedNames().put("defProp", importedName(((GeneratedProperty) ((List) allProperties).get(0))
+                    .getReturnType()));
         }
 
         final StringBuilder sb3 = new StringBuilder();
@@ -249,7 +259,7 @@ public class ClassRenderer extends BaseRenderer {
                 final List other = new ArrayList<>(properties);
                 if (other.remove(allProperty)) {
                     sb2.append(classTemplateUnionConstr.render(getType(), parentProperties, allProperty,
-                        other, importedName(allProperty.getReturnType()), genRestrictions).body());
+                            other, importedName(allProperty.getReturnType()), genRestrictions).body());
                 }
             }
         }
@@ -264,34 +274,32 @@ public class ClassRenderer extends BaseRenderer {
      * Selects from input list of properties only those which have read only
      * attribute set to true.
      *
-     * @param properties
-     *            list of properties of generated transfer object
+     * @param props list of properties of generated transfer object
      * @return subset of <code>properties</code> which have read only attribute
-     *         set to true
+     *      set to true
      */
-    private List<GeneratedProperty> resolveReadOnlyPropertiesFromTO(final List<GeneratedProperty> properties) {
-        return new ArrayList<>(Collections2.filter(properties, GeneratedProperty::isReadOnly));
+    private List<GeneratedProperty> resolveReadOnlyPropertiesFromTO(final List<GeneratedProperty> props) {
+        return new ArrayList<>(Collections2.filter(props, GeneratedProperty::isReadOnly));
     }
 
     /**
      * Returns the list of the read only properties of all extending generated
      * transfer object from <code>genTO</code> to highest parent generated
-     * transfer object
+     * transfer object.
      *
-     * @param genTO
-     *            generated transfer object for which is the list of read only
-     *            properties generated
+     * @param transferObject generated transfer object for which is the list of read only
+     *                       properties generated
      * @return list of all read only properties from actual to highest parent
-     *         generated transfer object. In case when extension exists the
-     *         method is recursive called.
+     *      generated transfer object. In case when extension exists the
+     *      method is recursive called.
      */
-    private List<GeneratedProperty> getPropertiesOfAllParents(final GeneratedTransferObject genTO) {
+    private List<GeneratedProperty> getPropertiesOfAllParents(final GeneratedTransferObject transferObject) {
         final List<GeneratedProperty> propertiesOfAllParents = new ArrayList<>();
-        if (genTO.getSuperType() != null) {
-            final List<GeneratedProperty> allPropertiesOfTO = genTO.getSuperType().getProperties();
+        if (transferObject.getSuperType() != null) {
+            final List<GeneratedProperty> allPropertiesOfTO = transferObject.getSuperType().getProperties();
             List<GeneratedProperty> readOnlyPropertiesOfTO = resolveReadOnlyPropertiesFromTO(allPropertiesOfTO);
             propertiesOfAllParents.addAll(readOnlyPropertiesOfTO);
-            propertiesOfAllParents.addAll(getPropertiesOfAllParents(genTO.getSuperType()));
+            propertiesOfAllParents.addAll(getPropertiesOfAllParents(transferObject.getSuperType()));
         }
         return propertiesOfAllParents;
     }