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 =
CacheBuilder.newBuilder().weakKeys().build(TYPE_LOADER);
- private static final Type SET_TYPE = typeForClass(Set.class);
- private static final Type LIST_TYPE = typeForClass(List.class);
- private static final Type MAP_TYPE = typeForClass(Map.class);
+ public static final Type SET_TYPE = typeForClass(Set.class);
+ public static final Type LIST_TYPE = typeForClass(List.class);
+ public static final Type MAP_TYPE = typeForClass(Map.class);
public static final ConcreteType BOOLEAN = typeForClass(Boolean.class);
public static final ConcreteType FUTURE = typeForClass(Future.class);