in modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/PrivilizerWeaver.java [38:63]
public boolean process(final WeaveEnvironment weaveEnvironment, final Scanner scanner) {
final Privilizer privilizer = new Privilizer(weaveEnvironment);
final Set<Class<?>> privilizedTypes = new LinkedHashSet<>();
// handle blueprints:
for (final WeavableClass<?> type : scanner.scan(
new ScanRequest().add(WeaveInterest.of(Privilizing.class, ElementType.TYPE))).getClasses()) {
final Class<?> target = type.getTarget();
if (privilizedTypes.add(target) && validateRequest(privilizer, type)) {
privilizer.blueprint(target, type.getAnnotation(Privilizing.class));
}
}
// handle remaining classes declaring @Privileged methods:
for (final WeavableClass<?> type : scanner.scan(
new ScanRequest().add(WeaveInterest.of(Privileged.class, ElementType.METHOD))).getClasses()) {
final Class<?> target = type.getTarget();
if (privilizedTypes.add(target) && validateRequest(privilizer, type)) {
privilizer.privilize(target);
}
}
return !privilizedTypes.isEmpty();
}