new CacheLoader<Class<?>, ConcreteType>() {
@Override
public ConcreteType load(final Class<?> key) {
- return new ConcreteTypeImpl(key.getPackage().getName(), key.getSimpleName(), null);
+ //Nested class
+ if (key.getEnclosingClass() != null) {
+ return new ConcreteTypeImpl(key.getEnclosingClass().getName(), key.getSimpleName(), null);
+ } else {
+ return new ConcreteTypeImpl(key.getPackage().getName(), key.getSimpleName(), null);
+ }
}
};
private static final LoadingCache<Class<?>, ConcreteType> TYPE_CACHE =
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)));
}
/**