THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
How to extend Tuscany Java SCA?
The ExtensionPointRegistry
package org.apache.tuscany.core; /** * The registry for the Tuscany core extension points. * * @version $Rev: 529327 $ $Date: 2007-04-16 10:10:43 -0700 (Mon, 16 Apr 2007) $ */ public interface ExtensionPointRegistry { /** * Add an extension point to the registry * @param <T> * @param extensionPointType The interface of the extension point * @param extensionPoint The instance of the extension point */ <T> void addExtensionPoint(Class<T> extensionPointType, T extensionPoint); /** * Get the extension point by the interface * @param <T> * @param extensionPointType * @return */ <T> T getExtensionPoint(Class<T> extensionPointType); /** * Remove an extension point * @param extensionPoint */ void removeExtensionPoint(Class extensionPoint); }
The ModuleActivator
package org.apache.tuscany.core; import java.util.Map; /** * ModuleActivator represents a module that plugs into the Tuscany system. Each module should * provide an implementation of this interface and registry the implementation class by defining * a file named as "META-INF/services/org.apache.tuscany.spi.bootstrp.ModuleActivator". The * content of the file is the class name of the implementation. The implementation class must * have a no-arg constructor. The same instance will be used to invoke all the methods during * different phases of the module activation. * * @version $Rev: 529327 $ $Date: 2007-04-16 10:10:43 -0700 (Mon, 16 Apr 2007) $ */ public interface ModuleActivator { /** * Get a map of the extension points defined by this module. The key is the * java interface to represent the extension point and the the value is the * instance of the implementation of the interface. * * @return All the extension points defined by this module */ Map<Class, Object> getExtensionPoints(); /** * This method is invoked when the module is started by the Tuscany system. * It can be used by this module to registr extensions against extension * points. * * @param registry The extension point registry */ void start(ExtensionPointRegistry registry); /** * This method is invoked when the module is stopped by the Tuscany system. * It can be used by this module to unregister extensions against the * extension points. * * @param registry The extension point registry */ void stop(ExtensionPointRegistry registry); }