From: <sha...@us...> - 2012-04-18 03:45:42
|
Revision: 3639 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3639&view=rev Author: shadowtm Date: 2012-04-18 03:45:36 +0000 (Wed, 18 Apr 2012) Log Message: ----------- Added convenience method to AnnComponentManager Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java Added Paths: ----------- trunk/components-core/src/test/java/org/dllearner/core/ trunk/components-core/src/test/java/org/dllearner/core/AnnComponentManagerTest.java Modified: trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2012-04-18 02:26:42 UTC (rev 3638) +++ trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2012-04-18 03:45:36 UTC (rev 3639) @@ -136,7 +136,25 @@ public Collection<Class<? extends Component>> getComponents() { return components; } - + + /** + * Get registered components which are of the specified type. + * + * @param type The super type. + * @return All sub classes of type. + */ + public Collection<Class<? extends Component>> getComponentsOfType(Class type) { + + Collection<Class<? extends Component>> result = new ArrayList<Class<? extends Component>>(); + for (Class<? extends Component> component : components) { + if (type.isAssignableFrom(component)) { + result.add(component); + } + } + + return result; + } + /** * Convenience method, which returns a list of components along with * their name. Added: trunk/components-core/src/test/java/org/dllearner/core/AnnComponentManagerTest.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/core/AnnComponentManagerTest.java (rev 0) +++ trunk/components-core/src/test/java/org/dllearner/core/AnnComponentManagerTest.java 2012-04-18 03:45:36 UTC (rev 3639) @@ -0,0 +1,25 @@ +package org.dllearner.core; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Collection; + +/** + * Created with IntelliJ IDEA. + * User: Chris + * Date: 4/17/12 + * Time: 9:16 PM + * + * Tests for the AnnComponentManager + */ +public class AnnComponentManagerTest { + + + @Test + public void testGetComponentsOfType() { + + Collection<Class<? extends Component>> components = AnnComponentManager.getInstance().getComponentsOfType(ReasonerComponent.class); + Assert.assertEquals(3,components.size()); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |