1 /***
2 * Copyright (c) 2003 held jointly by the individual authors.
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published
6 * by the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; with out even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library; if not, write to the Free Software Foundation,
16 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 *
18 * > http://www.gnu.org/copyleft/lesser.html
19 * > http://www.opensource.org/licenses/lgpl-license.php
20 */
21 package net.mlw.vlh;
22
23 import java.util.Map;
24
25 /***
26 * Holds the configuration for the value list handler.
27 *
28 * @author Matthew L. Wilson
29 * @version $Revision: 1.4 $ $Date: 2005/11/23 14:18:53 $
30 */
31 public class Configuration
32 {
33 /*** Commons logger. */
34
35
36 /*** Holds all the adapters. The name of the adapter is the key. */
37 private Map adapters = null;
38
39 /*** The default adapter to pass back if none are found. **/
40 private ValueListAdapter defaultAdapter = null;
41
42 /*** Gets the adapter with the given name. Returns the defaultAdapter
43 * if the given name could not be found.
44 *
45 * @param name The name of the adapter.
46 * @return The adapter with the given name, or the default.
47 */
48 public ValueListAdapter getAdapter(String name)
49 {
50 ValueListAdapter adapter = (ValueListAdapter) adapters.get(name);
51
52 if (adapter == null)
53 {
54 adapter = getDefaultAdapter();
55 }
56
57 if (adapter == null)
58 {
59 throw new NullPointerException("Adapter named: " + name + ", not found, and no default was declared.");
60 }
61 return adapter;
62 }
63
64 /*** Sets the Map of adapters.
65 * @param adapters
66 * The adapters to set.
67 */
68 public void setAdapters(Map adapters)
69 {
70 this.adapters = adapters;
71 }
72
73 /*** Gets the default adapter to pass back if none are found.
74 * @return Returns the defaultAdapter.
75 */
76 public ValueListAdapter getDefaultAdapter()
77 {
78 return defaultAdapter;
79 }
80
81 /*** Sets the default adapter to pass back if none are found.
82 * @param defaultAdapter
83 * The defaultAdapter to set.
84 */
85 public void setDefaultAdapter(ValueListAdapter defaultAdapter)
86 {
87 this.defaultAdapter = defaultAdapter;
88 }
89 }