@Override public boolean accepts(Class<? extends IChemObject> classObject) { if (IChemFile.class.equals(classObject)) return true; Class<?>[] interfaces = classObject.getInterfaces(); for (int i = 0; i < interfaces.length; i++) { if (IChemFile.class.equals(interfaces[i])) return true; } Class superClass = classObject.getSuperclass(); if (superClass != null) return this.accepts(superClass); return false; }
@Test public void testAccepts() throws IOException { INChIPlainTextReader reader = new INChIPlainTextReader(); Assert.assertTrue(reader.accepts(ChemFile.class)); reader.close(); }