01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002-2006, GeoTools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.xml;
17:
18: import org.picocontainer.MutablePicoContainer;
19:
20: /**
21: * Used to configure an instance of {@link org.geotools.xml.Writer}.
22: *
23: * <p>
24: * Implementations supply a series of {@link org.geotools.xml.Encoder}
25: * implementations (typically one for each type of object in your model that
26: * must be encoded.
27: * </p>
28: *
29: * <p>
30: * Encoder implementations are supplied by registering them with the supplied
31: * container.
32: *
33: * <pre>
34: * <code>
35: * class MyEncoderConfiguration implements EncoderConfiguration {
36: * void configure(MutablePicoContainer container) {
37: * container.registerComponentImplementation(FooEncoder.class);
38: * container.registerComponentImplementation(BarEncoder.class);
39: * ...
40: * }
41: * }
42: * </code>
43: * </pre>
44: * </p>
45: *
46: * @author Justin Deoliveira, The Open Planning Project
47: *
48: */
49: public interface EncoderConfiguration {
50: /**
51: * Populates the container with implementations of {@link Encoder}.
52: *
53: * @param container The container used to store encoder implementations.
54: */
55: void confgiure(MutablePicoContainer container);
56: }
|