package org.opendaylight.mdsal.binding.java.api.generator
import static java.util.Objects.requireNonNull
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.BINARY_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.BOOLEAN_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.EMPTY_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.INSTANCE_IDENTIFIER
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.INT16_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.INT32_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.INT64_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.INT8_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.STRING_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.UINT16_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.UINT32_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.UINT64_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BaseYangTypes.UINT8_TYPE
-import static org.opendaylight.mdsal.binding.model.util.BindingTypes.SCALAR_TYPE_OBJECT
-import static org.opendaylight.mdsal.binding.model.util.Types.BOOLEAN
-import static org.opendaylight.mdsal.binding.model.util.Types.STRING;
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.BINARY_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.BOOLEAN_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.DECIMAL64_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.EMPTY_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INSTANCE_IDENTIFIER
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INT16_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INT32_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INT64_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.INT8_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.STRING_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.UINT16_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.UINT32_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.UINT64_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BaseYangTypes.UINT8_TYPE
+import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.SCALAR_TYPE_OBJECT
+import static org.opendaylight.mdsal.binding.model.ri.Types.BOOLEAN
+import static org.opendaylight.mdsal.binding.model.ri.Types.STRING;
import static extension org.apache.commons.text.StringEscapeUtils.escapeJava
+import static extension org.opendaylight.mdsal.binding.model.ri.BindingTypes.isBitsType
-import com.google.common.base.MoreObjects
import com.google.common.base.Preconditions
import com.google.common.collect.ImmutableList
import com.google.common.collect.Lists
import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject
import org.opendaylight.mdsal.binding.model.api.Restrictions
import org.opendaylight.mdsal.binding.model.api.Type
-import org.opendaylight.mdsal.binding.model.util.TypeConstants
+import org.opendaylight.mdsal.binding.model.ri.TypeConstants
import org.opendaylight.mdsal.binding.spec.naming.BindingMapping
import org.opendaylight.yangtools.yang.common.Empty
-import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition
/**
* Template for generating JAVA class.
static val Comparator<GeneratedProperty> PROP_COMPARATOR = Comparator.comparing([prop | prop.name])
static val VALUEOF_TYPES = Set.of(
BOOLEAN_TYPE,
+ DECIMAL64_TYPE,
INT8_TYPE,
INT16_TYPE,
INT32_TYPE,
«propertyMethods»
- «IF (genTO.isTypedef() && genTO.getBaseType instanceof BitsTypeDefinition)»
+ «IF genTO.isBitsType»
«generateGetValueForBitsTypeDef»
«ENDIF»
return new «genTO.name»(«Base64.importedName».getDecoder().decode(defaultValue));
«ELSEIF EMPTY_TYPE.equals(propType)»
«Preconditions.importedName».checkArgument(defaultValue.isEmpty(), "Invalid value %s", defaultValue);
- return new «genTO.name»(«Empty.importedName».getInstance());
+ return new «genTO.name»(«Empty.importedName».value());
«ELSE»
return new «genTO.name»(new «propType.importedName»(defaultValue));
«ENDIF»
def protected bitsArgs() '''
«JU_LIST.importedName»<«STRING.importedName»> properties = «Lists.importedName».newArrayList(«allProperties.propsAsArgs»);
if (!properties.contains(defaultValue)) {
- throw new «IllegalArgumentException.importedName»("invalid default parameter");
+ throw new «IAE.importedName»("invalid default parameter");
}
int i = 0;
return new «genTO.name»(
«IF !properties.empty»
@«OVERRIDE.importedName»
public «STRING.importedName» toString() {
- final «MoreObjects.importedName».ToStringHelper helper = «MoreObjects.importedName».toStringHelper(«type.importedName».class);
+ final var helper = «MOREOBJECTS.importedName».toStringHelper(«type.importedName».class);
«FOR property : properties»
«CODEHELPERS.importedName».appendValue(helper, "«property.fieldName»", «property.fieldName»);
«ENDFOR»