+/*
+ * Copyright 2007 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.wamblee.system;
/**
* @return Subsystem name.
*/
String getName();
+
+ /**
+ * Prepends the context with a super context.
+ */
+ void addContext(String aContext);
+
+ /**
+ * 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();
/**
* Gets a description of the provided interfaces.
* @return Provided interfaces.
*/
- ProvidedInterfaceDescriptor[] getProvidedServices();
+ ProvidedInterface[] getProvidedServices();
/**
* Gets a description of the required interfaces.
* @return Required interfaces.
*/
- RequiredInterfaceDescriptor[] getRequiredServices();
+ RequiredInterface[] getRequiredServices();
/**
* Initialises the subsytem by starting all the services that
* it described as provided.
- * @param aContext Unique name for the subsystem.
- * @param aRequiredServices Running services from other
- * subsystems that are required by this subsystem.
- * @return Services that are running in the subsystem.
*/
- Service[] start(String aContext, Service[] aRequiredServices);
+ void start();
/**
* Stops a subsystem.
* {@link #initialize(String, Service[])} has been called.
* @return
*/
- Service[] getRunningServices();
+ ProvidedInterface[] getRunningServices();
}