import java.util.List;
-
/**
- * A component represents a part of a system that requires a
- * number of interfaces and provides a number of interfaces.
+ * A component represents a part of a system that requires a number of
+ * interfaces and provides a number of interfaces.
+ *
+ * The component interface provides the meta-data for a component. After calling
+ * {@link #start(Scope)}, an actual runtime representation of the component can
+ * be created which is independent of this component. As a special case, the
+ * runtime representation may be identical to the component instance but in
+ * general it is not. This allows a component to be used as a factory for
+ * creating objects.
*
- * The component interface provides the meta-data for a component.
- * After calling {@link #start(Scope)}, an actual runtime representation of the
- * component can be created which is independent of this component.
- * As a special case, the runtime representation may be identical to the
- * component instance but in general it is not. This allows a component to be
- * used as a factory for creating objects.
*
- *
* @author Erik Brakkee
*/
public interface Component<Type> {
/**
* Gets the name of the subsystem.
- *
+ *
* @return Subsystem name.
*/
String getName();
/**
* Prepends the context with a super context.
- *
- * @param aContext DOCUMENT ME!
+ *
*/
void addContext(String aContext);
/**
* Getst the context.
- *
+ *
* @return Context or null if not set.
*/
String getContext();
/**
- * Gets the fully qualified name of the component which includes
- * the context of the component. This method can only be used after the
- * component has started.
- *
+ * Gets the fully qualified name of the component which includes the context
+ * of the component. This method can only be used after the component has
+ * started.
+ *
* @return Qualified name.
*/
String getQualifiedName();
/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
-/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
+ * Gets a description of the provided interfaces.
+ *
+ * @return Provided interfaces.
*/
-/**
- * Gets a description of the provided interfaces.
- * @return Provided interfaces.
- */
List<ProvidedInterface> getProvidedInterfaces();
/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
-/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
+ * Gets a description of the required interfaces.
+ *
+ * @return Required interfaces.
*/
-/**
- * Gets a description of the required interfaces.
- * @return Required interfaces.
- */
List<RequiredInterface> getRequiredInterfaces();
/**
- * Initialises the subsystem by starting all the services that it
- * described as provided.
- *
- * @param aScope Scope with external interface implementations that are
- * available. The component must publish its runtime and its
- * provided interfaces in this scope.
- *
+ * Initialises the subsystem by starting all the services that it described
+ * as provided.
+ *
+ * @param aScope
+ * Scope with external interface implementations that are
+ * available. The component must publish its runtime and its
+ * provided interfaces in this scope.
+ *
* @return Gets an object representing the runtime of the component.
*/
Type start(Scope aScope);
/**
* Stops a component.
- *
- * @param aRuntime THe runtime part of the component.
+ *
+ * @param aRuntime
+ * THe runtime part of the component.
*/
void stop(Type aRuntime);
}