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"); } }