mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-26 20:50:54 +07:00
24 lines
606 B
Java
24 lines
606 B
Java
import java.util.*;
|
|
import java.lang.annotation.Annotation;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
|
|
abstract class WithAnn {
|
|
|
|
{
|
|
map((Class<? extends Annotation> ann) -> getAnnotation(ann));
|
|
map(this::getAnnotation);
|
|
}
|
|
|
|
abstract <A> A getAnnotation(Class<A> annotationClass);
|
|
abstract <R> void map(Function<Class<? extends Annotation>, ? extends R> mapper);
|
|
}
|
|
|
|
class Test {
|
|
private void it(final Set<Class<? extends String>> set) {
|
|
set.forEach((clazz) -> bind(clazz));
|
|
}
|
|
|
|
protected <T> void bind(Class<T> clazz) {}
|
|
} |