Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. package com.test
  2.  
  3. @Named("valueToStock")
  4. public class Main {
  5. @SneakyThrows
  6. @SuppressWarnings("unchecked")
  7. public static ImmutableMap<Class<? extends Annotation>, Class<?>> find(Class<? extends Annotation> annotation, String packageBase) {
  8. final ClassLoader loader = Thread.currentThread().getContextClassLoader();
  9.  
  10. return ClassPath.from(loader).getTopLevelClassesRecursive(packageBase).stream()
  11. .collect(Collectors.collectingAndThen(Collectors
  12. .toMap(x -> x.load().getAnnotation(annotation), x-> x.load()), ImmutableMap::copyOf));
  13. }
  14.  
  15. public static void main(String[] args) {
  16. find(Named.class, "com.test")
  17. .forEach((x, y) -> System.out.println(String.format("Class: %s, Annotation: %s", y, x)));
  18. }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement