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=d3c7e0704c9eae0bfd0691a6738005233b143f64;hpb=357f4dc185a27ff951cbea916437a73fc0d18c09;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 d3c7e070..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 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; + private static ProvidedInterface PROPS = new DefaultProvidedInterface( + "props", Properties.class); + + private Properties 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; + addInterface(PROPS, props, aScope); + + return props; } @Override protected void doStop(Properties aRuntime) { - // Empty + // Empty } - }