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