/*
- * 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.
* 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<Properties> {
-
- 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
}
-
}