1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.betwixt.strategy;
19
20 import org.apache.commons.betwixt.io.read.MappingAction;
21 import org.apache.commons.betwixt.io.read.ReadContext;
22 import org.xml.sax.Attributes;
23
24 /***
25 * <p>
26 * Pluggable strategy interface used for free mappings.
27 * </p>
28 * <p>
29 * Free mappings (ones where the current mapping )
30 * are executed by calling a <code>ActionMappingStrategy</code>
31 * implementation.
32 * So, using a custom strategy is an easy way to
33 * customize the mapping.
34 * </p>
35 * @author <a href='http://jakarta.apache.org/'>Jakarta Commons Team</a>
36 * @version $Revision: 1.2 $
37 */
38 public abstract class ActionMappingStrategy {
39
40 /***
41 * Default <code>ActionMappingStrategy</code>
42 * used by betwixt
43 */
44 public static final ActionMappingStrategy DEFAULT
45 = new DefaultActionMappingStrategy();
46
47 /***
48 * Gets the mapping action to map the given element.
49 * @param namespace not null
50 * @param name not null
51 * @param attributes <code>Attributes</code>, not null
52 * @param context <code>ReadContext</code>, not null
53 * @return <code>MappingAction</code>, not null
54 * @throws Exception
55 */
56 public abstract MappingAction getMappingAction(
57 String namespace,
58 String name,
59 Attributes attributes,
60 ReadContext context)
61 throws Exception;
62 }