public interface Predicate {
boolean ok(int value);
}
public class GreaterThan implements Predicate {
private int _value = 0;
public GreaterThan(int value) { _value = value; }
public boolean ok(int value) { return _value < value; }
}
public class EqualTo implements Predicate {
private int _value = 0;
public EqualTo(int value) { _value = value; }
public boolean ok(int value) { return _value == value; }
}
public class DataStore {
private int _vector[] = { -1, 0, 1 };
public boolean satisfies(Predicate predicate) {
for (int value : _vector) {
if (predicate.ok(value)) return true;
}
return false;
}
}
public class Application {
public static void main(String args[]) {
DataStore ds = new DataStore();
System.out.println(ds.satisfies(new EqualTo(-1)) ? "YES" : "NO");
System.out.println(ds.satisfies(new GreaterThan(2)) ? "YES" : "NO");
}
}