01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.commons.configuration;
18:
19: /**
20: * <p>
21: * Definition of an interface for objects that can create a configuration.
22: * </p>
23: * <p>
24: * This interface defines an abstract way of creating a
25: * <code>Configuration</code> object. It does not assume any specific way of
26: * how this is done; this is completely in the responsibility of an
27: * implementation class. There is just a single method that returns the
28: * configuration constructed by this builder.
29: * </p>
30: *
31: * @author <a
32: * href="http://jakarta.apache.org/commons/configuration/team-list.html">Commons
33: * Configuration team</a>
34: * @version $Id: ConfigurationBuilder.java 439648 2006-09-02 20:42:10Z oheger $
35: */
36: public interface ConfigurationBuilder {
37: /**
38: * Returns the configuration provided by this builder. An implementation has
39: * to perform all necessary steps for creating and initializing a
40: * <code>Configuration</code> object.
41: *
42: * @return the configuration
43: * @throws ConfigurationException if an error occurs
44: */
45: Configuration getConfiguration() throws ConfigurationException;
46: }
|