01: /*--
02:
03: Copyright (C) 2000-2003 Anthony Eden.
04: All rights reserved.
05:
06: Redistribution and use in source and binary forms, with or without
07: modification, are permitted provided that the following conditions
08: are met:
09:
10: 1. Redistributions of source code must retain the above copyright
11: notice, this list of conditions, and the following disclaimer.
12:
13: 2. Redistributions in binary form must reproduce the above copyright
14: notice, this list of conditions, and the disclaimer that follows
15: these conditions in the documentation and/or other materials
16: provided with the distribution.
17:
18: 3. The name "EdenLib" must not be used to endorse or promote products
19: derived from this software without prior written permission. For
20: written permission, please contact me@anthonyeden.com.
21:
22: 4. Products derived from this software may not be called "EdenLib", nor
23: may "EdenLib" appear in their name, without prior written permission
24: from Anthony Eden (me@anthonyeden.com).
25:
26: In addition, I request (but do not require) that you include in the
27: end-user documentation provided with the redistribution and/or in the
28: software itself an acknowledgement equivalent to the following:
29: "This product includes software developed by
30: Anthony Eden (http://www.anthonyeden.com/)."
31:
32: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
33: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
34: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
35: DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
36: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
37: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
38: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
41: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42: POSSIBILITY OF SUCH DAMAGE.
43:
44: For more information on EdenLib, please see <http://edenlib.sf.net/>.
45:
46: */
47:
48: package com.anthonyeden.lib.config;
49:
50: /**
51: * Interface which can be implemented by any object which should be configurable
52: * using the EdenLib configuration objects.
53: *
54: * @author Anthony Eden
55: */
56:
57: public interface Configurable {
58:
59: /**
60: * Load the configuration using the given configuration object.
61: *
62: * @param configuration The configuration object
63: * @throws ConfigurationException Exception during configuration
64: */
65:
66: public void loadConfiguration(Configuration configuration)
67: throws ConfigurationException;
68:
69: /**
70: * Save the configuration to the given configuration object.
71: *
72: * @param configuration The mutable configuration object
73: * @throws ConfigurationException Exception during configuration
74: */
75:
76: public void saveConfiguration(MutableConfiguration configuration)
77: throws ConfigurationException;
78:
79: }
|