package scrum.client; import scrum.client.common.ElementPredicate; public abstract class ListPredicate<G> implements ElementPredicate<G> { private final String name; private boolean enabled = true; public ListPredicate(String name, boolean enabled) { this.name = name; setEnabled(enabled); } public boolean contains(G element) { if (!isEnabled()) return false; return test(element); } protected abstract boolean test(G element); public void setEnabled(boolean enabled) { this.enabled = enabled; } public boolean isEnabled() { return enabled; } @Override public String toString() { return name; } }