| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You 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. |
| --> |
| <!-- ===================================================================== --> |
| <!-- $Id$ --> |
| <!-- ===================================================================== --> |
| <document> |
| |
| <properties> |
| <author email="pete@kazmier.com">Pete Kazmier</author> |
| <author email="mpoeschl@marmot.at">Martin Poeschl</author> |
| <author email="jason@zenplex.com">Jason van Zyl</author> |
| <author email="epugh@upstate.com">Eric Pugh</author> |
| <author email="tobrien@discursive.com">Tim O'Brien</author> |
| <author email="rgoers@apache.org">Ralph Goers</author> |
| <title>Java Configuration API</title> |
| </properties> |
| |
| <body> |
| <section name="Intro"> |
| <p> |
| The Commons Configuration software library provides a generic configuration interface which enables |
| a Java application to read configuration data from a variety of sources. Commons Configuration |
| provides typed access to single, and multi-valued configuration parameters as demonstrated |
| by the following code: |
| |
| <source><![CDATA[ |
| Double double = config.getDouble("number"); |
| Integer integer = config.getInteger("number"); |
| ]]></source> |
| |
| </p> |
| <p> |
| Configuration parameters may be loaded from the following sources: |
| |
| <ul> |
| <li>Properties files</li> |
| <li>XML documents</li> |
| <li>Windows INI files</li> |
| <li>Property list files (plist)</li> |
| <li>JNDI</li> |
| <li>JDBC Datasource</li> |
| <li>System properties</li> |
| <li>Applet parameters</li> |
| <li>Servlet parameters</li> |
| </ul> |
| |
| Configuration objects are created using configuration builders. |
| Different configuration sources can be mixed using a <code>CombinedConfigurationBuilder</code> and |
| a <code>CombinedConfiguration</code>. Additional sources of configuration parameters can |
| be created by using custom configuration objects. This customization can be achieved by |
| extending <code>AbstractConfiguration</code> or <code>AbstractHierarchicalConfiguration</code>. |
| </p> |
| <p> |
| The full Javadoc API documentation is available <a href="apidocs/index.html">here</a>. |
| </p> |
| </section> |
| |
| <section name="Commons Configuration 2.0 beta2"> |
| <p> |
| The latest stable release of Apache Commons Configuration is version 1.10. It is available from the |
| <a href="http://commons.apache.org/configuration/download_configuration.cgi">Apache download area</a>. |
| It is also available from the <a href="http://repo1.maven.org/maven2/commons-configuration/commons-configuration/">Maven repository</a>. |
| The <a href="changes-report.html">Changes Report</a> explains all of the changes and bug fixes that have been made. |
| </p> |
| <p> |
| In the meantime, work has been spent on a major redesign of the library |
| addressing some of the weaknesses of the 1.x version series. The results |
| are now made available as a series of alpha and beta releases. These releases aim at gaining |
| feedback from the community regarding changed and new concepts implemented |
| for version 2.0. They are not yet production ready! The current beta version is also |
| available from the <a href="http://commons.apache.org/configuration/download_configuration.cgi">Download |
| page</a>; however, it was decided to <strong>not</strong> publish it to |
| Maven central. (We want to prevent the problematic scenario of having |
| multiple incompatible artifacts with the same Maven coordinates.) There is |
| a <a href="userguide/upgradeto2_0.html">Migration guide</a> that can be |
| used as guideline when upgrading from version 1.x to 2.0. It describes the |
| most important changes. |
| </p> |
| </section> |
| |
| <section name="History"> |
| <p> |
| Commons Configuration started as code in Apache JServ. The JServ code was subsequently |
| added to <a href="http://jakarta.apache.org/turbine">Jakarta Turbine</a>. After Jakarta |
| Turbine, this configuration interface moved to <a href="http://jakarta.apache.org/velocity">Jakarta Velocity</a> |
| and underwent various improvements. After Velocity, this code was introduced to the |
| <a href="http://commons.apache.org">Apache Commons</a> as <code>ExtendedProperties</code>. |
| Configuration began life in the Commons as a Sandbox component, and was promoted to the |
| Commons Proper in late 2003. |
| </p> |
| </section> |
| |
| <section name="Bugs"> |
| <p> |
| Bugs may be reported via the <a href="http://issues.apache.org/jira/browse/CONFIGURATION">ASF JIRA</a> |
| system. Detailed information can be found on the <a href="issue-tracking.html">issue tracking page</a>. |
| </p> |
| </section> |
| |
| </body> |
| </document> |