If [configuration] depends on [lang] already, presumably this new version should depend on [lang] 3.x instead; in which case why not use its Builder interface?
$0.02, Matt On Wed, Oct 3, 2012 at 2:15 PM, <[email protected]> wrote: > Author: oheger > Date: Wed Oct 3 19:15:27 2012 > New Revision: 1393690 > > URL: http://svn.apache.org/viewvc?rev=1393690&view=rev > Log: > Added ConfigurationBuilder interface. > > Added: > > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ > > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > (with props) > > Added: > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > URL: > http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java?rev=1393690&view=auto > ============================================================================== > --- > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > (added) > +++ > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > Wed Oct 3 19:15:27 2012 > @@ -0,0 +1,50 @@ > +/* > + * 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. > + */ > +package org.apache.commons.configuration.builder; > + > +import org.apache.commons.configuration.Configuration; > +import org.apache.commons.configuration.ConfigurationException; > + > +/** > + * <p> > + * Definition of an interface for objects that can create {@link > Configuration} > + * objects of a specific type. > + * </p> > + * <p> > + * This interface defines an abstract way of creating a {@code Configuration} > + * object. It does not assume any specific way of how this is done; this is > + * completely in the responsibility of an implementation class. There is > just a > + * single method that returns the configuration constructed by this builder. > + * </p> > + * > + * @version $Id$ > + * @since 2.0 > + * @param <T> the concrete type of the {@code Configuration} class produced > by > + * this builder > + */ > +public interface ConfigurationBuilder<T extends Configuration> > +{ > + /** > + * Returns the configuration provided by this builder. An implementation > has > + * to perform all necessary steps for creating and initializing a > + * {@code Configuration} object. > + * > + * @return the configuration > + * @throws ConfigurationException if an error occurs > + */ > + T getConfiguration() throws ConfigurationException; > +} > > Propchange: > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > ------------------------------------------------------------------------------ > svn:keywords = Date Author Id Revision HeadURL > > Propchange: > commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/ConfigurationBuilder.java > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
