final String outerName = Joiner.on(".").join(components.subList(0, length));
final String innerName = outerName + "$" + components.get(length);
return cls.loadClass(innerName);
- } else {
- throw e;
}
+
+ throw e;
}
}
}
public static <S,G,P> Class<P> findFirstGenericArgument(final Class<S> scannedClass, final Class<G> genericType) {
- return withClassLoader(scannedClass.getClassLoader(),
- ClassLoaderUtils.findFirstGenericArgumentTask(scannedClass, genericType));
+ return withClassLoader(scannedClass.getClassLoader(), findFirstGenericArgumentTask(scannedClass, genericType));
}
+ @SuppressWarnings("unchecked")
private static <S, G, P> Supplier<Class<P>> findFirstGenericArgumentTask(final Class<S> scannedClass,
final Class<G> genericType) {
- return new Supplier<Class<P>>() {
- @Override
- @SuppressWarnings("unchecked")
- public Class<P> get() {
- final ParameterizedType augmentationGeneric = findParameterizedType(scannedClass, genericType);
- if (augmentationGeneric != null) {
- return (Class<P>) augmentationGeneric.getActualTypeArguments()[0];
- }
- return null;
+ return () -> {
+ final ParameterizedType augmentationGeneric = findParameterizedType(scannedClass, genericType);
+ if (augmentationGeneric != null) {
+ return (Class<P>) augmentationGeneric.getActualTypeArguments()[0];
}
+ return null;
};
}