1
2 package eu.simuline.m2latex.core;
3
4 import java.util.SortedSet;
5
6 /**
7 * Common interface to pass parameters from ant and from maven.
8 * The core method is {@link #initialize()}.
9 * Note that both implementations, the one of an ant task
10 * and the one for the maven plugin implement a method execute()
11 * but throwing specific exceptions.
12 * <p>
13 * TODO: describe getTarget()
14 * TODO: redesign: split up in two interfaces:
15 * {@link initialize()} is needed by all goals/tasks,
16 * whereas
17 *
18 * @see eu.simuline.m2latex.antTask.LatexCfgTask
19 * @see eu.simuline.m2latex.mojo.AbstractLatexMojo
20 */
21 public interface ParameterAdapter {
22
23 /**
24 * Sets up the parameters and initializes
25 * {@link eu.simuline.m2latex.core.LatexProcessor}.
26 */
27 void initialize();
28
29 /**
30 * Returns the set of targets.
31 * FIXME: Better would be Enum set but best a sorted kind of EnumSet
32 * The set is an EnumSet and thus in a sense sorted,
33 * although not implementing SortedSet: *****
34 * The iterator returned by the iterator method
35 * traverses the elements in their natural order
36 * (the order in which the enum constants are declared).
37 * TODO: generalize to more than one target.
38 */
39 SortedSet<Target> getTargetSet();
40 }