You can make such an interface
public interface MyComparator { public boolean matches(String operator); public boolean compare(String a, String b); }
Then you can do how many classes you want to implement through this interface.
public class MyEquals implements MyComparator { @Override public boolean matches(String operator) { return "==".equals(operator); } @Override public boolean compare(String a, String b) { return a.equals(b); } }
and download them as follows:
Class compClass = Class.forName(classname); MyComparator comp = (MyComparator)compClass.newInstance();
you could prepare a list of all available statements and iterate over it and even have a list of statements configured in the properties file.
source share