Search in sources :

Example 1 with ClassScanner

use of org.immutables.criteria.reflect.ClassScanner in project immutables by immutables.

the class MemberLookupCache method find.

Optional<Member> find(Class<?> type, String path) {
    ClassAndPath classAndPath = ImmutableClassAndPath.of(type, path);
    Member member = this.member.computeIfAbsent(classAndPath, key -> {
        ClassScanner scanner = this.scanner.computeIfAbsent(key.type(), MemberLookupCache::createScannerForType);
        return scanner.stream().filter(m -> m.getName().equals(path)).findFirst().orElse(null);
    });
    return Optional.ofNullable(member);
}
Also used : ClassScanner(org.immutables.criteria.reflect.ClassScanner) Member(java.lang.reflect.Member)

Aggregations

Member (java.lang.reflect.Member)1 ClassScanner (org.immutables.criteria.reflect.ClassScanner)1