TopicMapSystemFactory extends org.tmapi.core.TopicMapSystemFactory { @Override public TopicMapSystem newTopicMapSystem() throws TMAPIException { String store = properties.getProperty(STORE_PROPERTY); if (store != null && store.equalsIgnoreCase("rdbms") ) return new RDBMSTopicMapSystemImpl(this); else return new MemoryTopicMapSystemImpl(this); }  @Override TopicMapSystem newTopicMapSystem(); @Override boolean hasFeature(String feature); @Override boolean getFeature(String feature); @Override void setFeature(String feature, boolean value); @Override String getProperty(String propname); void setProperty(String propname, String propval); void setProperties(Properties properties); @Override void setProperty(String key, Object val); final String STORE_PROPERTY; }
@Test public void testFactory() throws org.tmapi.core.TMAPIException { TopicMapSystemFactory tmsf = TopicMapSystemFactory.newInstance(); Assert.assertTrue("TopicMapSystemFactory is not net.ontopia.topicmaps.impl.tmapi2.TopicMapSystemFactory", tmsf instanceof net.ontopia.topicmaps.impl.tmapi2.TopicMapSystemFactory); TopicMapSystem ts = tmsf.newTopicMapSystem(); Assert.assertTrue("TopicMapSystem is not net.ontopia.topicmaps.impl.tmapi2.TopicMapSystem", ts instanceof net.ontopia.topicmaps.impl.tmapi2.MemoryTopicMapSystemImpl); ts.close(); }