Advertisement
DaPorkchop

Untitled

Apr 2nd, 2019
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.83 KB | None | 0 0
  1.     @SuppressWarnings("unchecked")
  2.     protected static <E extends Enum> Map<E, String[]> getTooltips(@NonNull Class<E> clazz) {
  3.         return (Map<E, String[]>) tooltipCache.computeIfAbsent(clazz, c -> Arrays.stream(c.getDeclaredFields())
  4.                 .filter(Field::isEnumConstant)
  5.                 .map(field -> new Tuple<>(field, PReflection.getAnnotation(field, FormType.EnumMemberTooltip.class)))
  6.                 .filter(Tuple::isBNonNull)
  7.                 .collect(Collectors.toMap((EFunction<Tuple<Field, FormType.EnumMemberTooltip>, E>) t -> (E) t.getA().get(null), t -> Arrays.stream(t.getB().value())
  8.                         .filter(Objects::nonNull)
  9.                         .flatMap(line -> line.indexOf('\n') != -1 ? Arrays.stream(line.split("\n")) : Stream.of(line))
  10.                         .toArray(String[]::new))));
  11.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement