X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FScope.java;h=cc862e3e8b2807aa412ce99842b1089f6b8d3bf7;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=9db462f5c4393a873aaf3713272d67ee9f10a8e3;hpb=7273d083a2f03cd3d2061d3c6628a46b679e718b;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/Scope.java b/system/general/src/main/java/org/wamblee/system/core/Scope.java index 9db462f5..cc862e3e 100644 --- a/system/general/src/main/java/org/wamblee/system/core/Scope.java +++ b/system/general/src/main/java/org/wamblee/system/core/Scope.java @@ -1,5 +1,5 @@ /* - * Copyright 2008 the original author or authors. + * Copyright 2005-2010 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. @@ -12,66 +12,85 @@ * 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.core; +import java.util.List; + /** - * A scope represents a set of running services and the runtime information for the - * started components and is (usually) the result of - * starting a container. + * A scope represents a set of running services and the runtime information for + * the started components and is (usually) the result of starting a container. * * @author Erik Brakkee */ public interface Scope { - - /** - * Gets the provided interfaces by this scope. - * @return Provided interfaces. - */ - ProvidedInterface[] getProvidedInterfaces(); - - /** - * Adds a key value pair to the scope. - * @param aKey Key - * @param aValue Value. - */ - void put(String aKey, Object aValue); - - /** - * Retrieves a value for the key. - * @param aKey Key. - * @return Value. - */ - Object get(String aKey); - - /** - * Adds the runtime of a started component. - * @param aComponent Component. - * @param aRuntime Runtime. - */ - void addRuntime(Component aComponent, Object aRuntime); - - /** - * Publishes an implementation of a provided interface. - * @param aComponent Component that provides the interface. - * @param aInterface Interface that is provided. - * @param aImplementation Implementation of the interface. - * @return Returns a unique id of the published interface. - */ - void publishInterface(ProvidedInterface aInterface, Object aImplementation); - - /** - * Retrieves an implementation of a provided interface. - * @param aProvided Provided interface. If it is null then null is returned. - * @param aType Type of implementation that is expected. - * @return Retrieved interface. - */ - T getInterfaceImplementation(ProvidedInterface aProvided, Class aType ); + /** + * Gets the provided interfaces by this scope. + * + * @return Provided interfaces. + */ + List getProvidedInterfaces(); + + /** + * Adds a key value pair to the scope. + * + * @param aKey + * Key + * @param aValue + * Value. + */ + void put(String aKey, Object aValue); + + /** + * Retrieves a value for the key. + * + * @param aKey + * Key. + * + * @return Value. + */ + Object get(String aKey); + + /** + * Adds the runtime of a started component. + * + * @param aComponent + * Component. + * @param aRuntime + * Runtime. + */ + void addRuntime(Component aComponent, Object aRuntime); + + /** + * Publishes an implementation of a provided interface. + * + * @param aInterface + * Interface that is provided. + * @param aImplementation + * Implementation of the interface. + */ + void publishInterface(ProvidedInterface aInterface, Object aImplementation); + + T getInterfaceImplementation(ProvidedInterface aProvided, Class aType); + + /** + * Gets the runtime for a component. + * + * @param aComponent + * Component for which we want to get the runtime. + * + * @return Runtime. + */ + Object getRuntime(Component aComponent); - /** - * Gets the runtime for a component. - * @param aComponent Component for which we want to get the runtime. - * @return Runtime. - */ - Object getRuntime(Component aComponent); + /** + * Gets the runtime for a component based on the name of the component + * (excluding its context). + * + * @param aName + * Component name. + * + * @return Component name. + */ + Object getRuntime(String aName); }