X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2FComponent.java;h=e06532669ce5a49c179fc5d54c0214c9b5e20d45;hb=b0e1c060d6207c0fc06e4673764a6980da775210;hp=afbed94cd677fb04e8e049cddd25d3e53132b756;hpb=2a885e74d3f518def3887df98920f632177ed0b9;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/Component.java b/system/general/src/main/java/org/wamblee/system/Component.java index afbed94c..e0653266 100644 --- a/system/general/src/main/java/org/wamblee/system/Component.java +++ b/system/general/src/main/java/org/wamblee/system/Component.java @@ -1,3 +1,18 @@ +/* + * 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; /** @@ -23,29 +38,38 @@ public interface Component { * @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. @@ -59,5 +83,5 @@ public interface Component { * {@link #initialize(String, Service[])} has been called. * @return */ - Service[] getRunningServices(); + ProvidedInterface[] getRunningServices(); }