01: /*
02:
03: This software is OSI Certified Open Source Software.
04: OSI Certified is a certification mark of the Open Source Initiative.
05:
06: The license (Mozilla version 1.0) can be read at the MMBase site.
07: See http://www.MMBase.org/license
08:
09: */
10: package org.mmbase.util.transformers;
11:
12: import org.mmbase.util.functions.Parameters;
13:
14: /**
15: * ParameterizedTransformerFactories, can create {@link Transformer} instances, but can do that
16: * 'parameterized'. Implementations of this define 'createParameters' which returns an empty {@link
17: * org.mmbase.util.functions.Parameters} object which defines which parameters are accepted.
18: *
19: * The user can then fill this Parameters object and feed it to {@link #createTransformer(Parameters)}.
20: *
21: * @author Michiel Meeuwissen
22: * @since MMBase-1.8
23: * @version $Id: ParameterizedTransformerFactory.java,v 1.7 2007/08/04 07:45:52 michiel Exp $
24: */
25:
26: public interface ParameterizedTransformerFactory<T extends Transformer> {
27:
28: /**
29: * Creates a parameterized transformer.
30: */
31: T createTransformer(Parameters parameters);
32:
33: /**
34: * Create empty <code>Parameters</code> object for use with {@link #createTransformer(Parameters)}.
35: */
36: Parameters createParameters();
37:
38: }
|