1 package org.wamblee.system;
3 import java.util.Collection;
6 * Represents an interface provided by a component.
10 public interface ProvidedInterface {
13 * Symbolic name for the service as used by the subsystem.
14 * @return Service name.
19 * Returns the service type.
20 * @return Service type.
22 Class[] getInterfaceTypes();
25 * Publish an implementation of the interface.
26 * @param aImplementation
28 void publish(Object aImplementation);
31 * Gets the implementation.
32 * @return Implementation or null if not started.
34 Object getImplementation();