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;
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;
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;
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;
}
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));
if (!enclosedGeneratedTypes.isEmpty()) {
for (GeneratedType innerClass : enclosedGeneratedTypes) {
if (innerClass instanceof GeneratedTransferObject) {
- classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject)innerClass));
+ classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject) innerClass));
}
}
}
}
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()));
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();
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());
}
}
}
* 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;
}