Skip to content

Commit

Permalink
Implement IntPredicate
Browse files Browse the repository at this point in the history
  • Loading branch information
ljacqu committed Nov 14, 2023
1 parent 5ff11ff commit 60f7189
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions src/main/java/ch/jalu/typeresolver/modifier/ModifierFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@
import java.lang.reflect.Modifier;
import java.util.function.BiFunction;
import java.util.function.BooleanSupplier;
import java.util.function.IntPredicate;
import java.util.stream.IntStream;

public abstract class ModifierFilter {
public abstract class ModifierFilter implements IntPredicate {

public boolean matches(Member member) {
return matches(member.getModifiers());
public boolean test(Member member) {
return test(member.getModifiers());
}

public boolean matches(Class<?> clazz) {
return matches(clazz.getModifiers());
public boolean test(Class<?> clazz) {
return test(clazz.getModifiers());
}

public abstract boolean matches(int modifiers);
@Override
public abstract boolean test(int modifiers);

public static ModifierFilter is(int flag) {
return new ExactValueFilter(flag, false);
Expand Down Expand Up @@ -95,7 +97,8 @@ private static final class ExactValueFilter extends ModifierFilter {
this.negate = negate;
}

public boolean matches(int modifiers) {
@Override
public boolean test(int modifiers) {
boolean hasFlag = (modifiers & flag) == flag;
return hasFlag ^ negate;
}
Expand All @@ -119,7 +122,8 @@ private static final class AnyValueFilter extends ModifierFilter {
this.negate = negate;
}

public boolean matches(int modifiers) {
@Override
public boolean test(int modifiers) {
boolean hasAnyValue = (modifiers & flag) != 0;
return hasAnyValue ^ negate;
}
Expand All @@ -142,7 +146,7 @@ private ConstantFilter(boolean constantResult) {
}

@Override
public boolean matches(int modifiers) {
public boolean test(int modifiers) {
return constantResult;
}

Expand Down Expand Up @@ -217,10 +221,11 @@ private static final class CombiningModifierFilter extends ModifierFilter {
this.combineOp = combination;
}

public boolean matches(int modifiers) {
@Override
public boolean test(int modifiers) {
return combineOp.combine(
() -> filter1.matches(modifiers),
() -> filter2.matches(modifiers));
() -> filter1.test(modifiers),
() -> filter2.test(modifiers));
}

public CombiningModifierFilter negate() {
Expand Down

0 comments on commit 60f7189

Please sign in to comment.