X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcomponents%2FPropertyComponent.java;h=d5fbb43a3b25dbb7e61d99d48a9d111096f90ea6;hb=49ce7cb8387601982d5e6ef186ce206d38f6e3d7;hp=48ef0e38eb991910cd01b4711f820eb8b0e17016;hpb=0d8d8f24656e585ee75558cfd6a4c661f8f14985;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/components/PropertyComponent.java b/system/general/src/main/java/org/wamblee/system/components/PropertyComponent.java index 48ef0e38..d5fbb43a 100644 --- a/system/general/src/main/java/org/wamblee/system/components/PropertyComponent.java +++ b/system/general/src/main/java/org/wamblee/system/components/PropertyComponent.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,59 +12,72 @@ * 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.components; -import java.io.IOException; -import java.util.Properties; - import org.wamblee.io.InputResource; + import org.wamblee.system.core.AbstractComponent; import org.wamblee.system.core.DefaultProvidedInterface; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.Scope; +import java.io.IOException; + +import java.util.Properties; + /** - * Property component that reads a property file and provides - * it to other components through a provided interface. + * Property component that reads a property file and provides it to other + * components through a provided interface. NOTE: when multiple property + * components are used, disambiguation of provided and required interfaces is + * needed. * - * NOTE: when multiple property components are used, disambiguation - * of provided and required interfaces is needed. - * * @author Erik Brakkee */ public class PropertyComponent extends AbstractComponent { - - private static ProvidedInterface PROPS = new DefaultProvidedInterface("props", Properties.class); - + private static ProvidedInterface PROPS = new DefaultProvidedInterface( + "props", Properties.class); + private Properties props; - - public PropertyComponent(String aName, InputResource aResource) throws IOException { - this(aName, readProps(aResource)); - } - - private static Properties readProps(InputResource aResource) throws IOException { - Properties props = new Properties(); - props.load(aResource.getInputStream()); - return props; + + /** + * Creates a new PropertyComponent object. + * + * + */ + public PropertyComponent(String aName, InputResource aResource) + throws IOException { + this(aName, readProps(aResource)); } + /** + * Creates a new PropertyComponent object. + * + */ public PropertyComponent(String aName, Properties aProps) { super(aName); - props = aProps; - + props = aProps; + addProvidedInterface(PROPS); } + private static Properties readProps(InputResource aResource) + throws IOException { + Properties props = new Properties(); + props.load(aResource.getInputStream()); + + return props; + } + @Override protected Properties doStart(Scope aScope) { addInterface(PROPS, props, aScope); - return props; + + return props; } @Override protected void doStop(Properties aRuntime) { - // Empty + // Empty } - }