fr.vergne.pester.options.Visibility Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pester-core Show documentation
Show all versions of pester-core Show documentation
Implementation of the Pester library.
The newest version!
package fr.vergne.pester.options;
import java.lang.reflect.Modifier;
import java.util.function.Predicate;
public enum Visibility implements Option {
PUBLIC(Modifier::isPublic),
PROTECTED(Modifier::isProtected),
PACKAGE(mod -> !Modifier.isPublic(mod) && !Modifier.isProtected(mod) && !Modifier.isPrivate(mod)),
PRIVATE(Modifier::isPrivate);
private final Predicate modifierPredicate;
private Visibility(Predicate modifierPredicate) {
this.modifierPredicate = modifierPredicate;
}
@Override
public boolean testModifiers(int modifiers) {
return modifierPredicate.test(modifiers);
}
}