If you're testing an instance against a known interface, it's dead easy: boolean yesItDoes = (obj instanceof MyInterface) ;
Doing so programmatically or against a class is a bit more involved: import java.lang.reflect.* ;
public class IFTest {
/** tests if an object implements an interface programmatically */
static boolean implementsInterface(Object anObj, Class anInterface) {
return (anInterface.isInstance(anObj)) ;
}
/** tests if a class implements an interface */
static boolean implementsInterface(Class aClass, Class anInterface) {
Class[] interfaces = aClass.getInterfaces() ;
for (int j=interfaces.length-1; j>=0; j--) {
if (anInterface.equals(interfaces[j])) {
return true ;
}
}
return false ;
}
}
Hope this gives you some ideas.