import static org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil.encodeAngleBrackets
+import com.google.common.collect.ImmutableMap
+import com.google.common.collect.ImmutableMap.Builder
+import java.util.Map
+import java.util.Objects
+import java.util.Optional
import org.opendaylight.mdsal.binding.model.api.Enumeration
import org.opendaylight.mdsal.binding.model.api.GeneratedType
*
* @return string with the enumeration body
*/
- // FIXME: for some reason importedName does not work here :(
override body() '''
«wrapToDocumentation(formatDataForJavaDoc(enums))»
- public enum «enums.name» implements org.opendaylight.yangtools.yang.binding.Enumeration {
+ public enum «enums.name» implements «org.opendaylight.yangtools.yang.binding.Enumeration.importedName» {
«writeEnumeration(enums)»
- private static final java.util.Map<java.lang.String, «enums.name»> NAME_MAP;
- private static final java.util.Map<java.lang.Integer, «enums.name»> VALUE_MAP;
+ private static final «Map.importedName»<«String.importedName», «enums.name»> NAME_MAP;
+ private static final «Map.importedName»<«Integer.importedName», «enums.name»> VALUE_MAP;
static {
- final com.google.common.collect.ImmutableMap.Builder<java.lang.String, «enums.name»> nb =
- com.google.common.collect.ImmutableMap.builder();
- final com.google.common.collect.ImmutableMap.Builder<java.lang.Integer, «enums.name»> vb =
- com.google.common.collect.ImmutableMap.builder();
+ final «Builder.importedName»<«String.importedName», «enums.name»> nb = «ImmutableMap.importedName».builder();
+ final «Builder.importedName»<«Integer.importedName», «enums.name»> vb = «ImmutableMap.importedName».builder();
for («enums.name» enumItem : «enums.name».values()) {
vb.put(enumItem.value, enumItem);
nb.put(enumItem.name, enumItem);
VALUE_MAP = vb.build();
}
- private final java.lang.String name;
+ private final «String.importedName» name;
private final int value;
private «enums.name»(int value, «String.importedName» name) {
}
@Override
- public java.lang.String getName() {
+ public «String.importedName» getName() {
return name;
}
* @return corresponding «enums.name» item, if present
* @throws NullPointerException if name is null
*/
- public static java.util.Optional<«enums.name»> forName(«String.importedName» name) {
- return java.util.Optional.ofNullable(NAME_MAP.get(java.util.Objects.requireNonNull(name)));
+ public static «Optional.importedName»<«enums.name»> forName(«String.importedName» name) {
+ return «Optional.importedName».ofNullable(NAME_MAP.get(«Objects.importedName».requireNonNull(name)));
}
/**
import com.google.common.base.Preconditions;
import com.google.common.io.BaseEncoding
import java.beans.ConstructorProperties
+import java.util.Arrays
import org.opendaylight.mdsal.binding.model.api.GeneratedProperty
import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject
import org.opendaylight.mdsal.binding.model.api.Enumeration
*/
new(NestedJavaGeneratedType javaType, GeneratedTransferObject genType) {
super(javaType, genType)
- if (isBaseEncodingImportRequired) {
- addImport(BaseEncoding)
- }
}
/**
*/
new(GeneratedTransferObject genType) {
super(genType)
- if (isBaseEncodingImportRequired) {
- addImport(BaseEncoding)
- }
- }
-
- final private def boolean isBaseEncodingImportRequired() {
- for (property : finalProperties) {
- val propRet = property.returnType
- if (propRet instanceof GeneratedTransferObject && (propRet as GeneratedTransferObject).typedef &&
- (propRet as GeneratedTransferObject).properties !== null &&
- !(propRet as GeneratedTransferObject).properties.empty &&
- ((propRet as GeneratedTransferObject).properties.size == 1) &&
- (propRet as GeneratedTransferObject).properties.get(0).name.equals("value") &&
- "byte[]".equals((propRet as GeneratedTransferObject).properties.get(0).returnType.name)) {
- return true;
- }
- }
}
override constructors() '''
&& (propRet as GeneratedTransferObject).properties.get(0).name.equals("value")
&& "byte[]".equals((propRet as GeneratedTransferObject).properties.get(0).returnType.name)»
««« generated byte[] typedef
- «field.fieldName» = BaseEncoding.base64().encode(«property.fieldName».getValue()).toCharArray();
+ «field.fieldName» = «BaseEncoding.importedName».base64().encode(«property.fieldName».getValue()).toCharArray();
«ELSEIF propRet instanceof GeneratedTransferObject // Is it a GeneratedTransferObject
&& (propRet as GeneratedTransferObject).typedef // Is it a typedef
&& (propRet as GeneratedTransferObject).baseType instanceof BitsTypeDefinition»
««« generated bits typedef
- «field.fieldName» = java.util.Arrays.toString(«property.fieldName».getValue()).toCharArray();
+ «field.fieldName» = «Arrays.importedName».toString(«property.fieldName».getValue()).toCharArray();
«ELSE»
««« generated type
«field.fieldName» = «property.fieldName».getValue().toString().toCharArray();