2009/05/20 - Apache Shale has been retired.
For more information, please explore the Attic.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.shale.clay.parser.builder.chain;
22
23 import org.apache.commons.chain.Command;
24 import org.apache.commons.chain.Context;
25 import org.apache.shale.clay.parser.Node;
26 import org.apache.shale.clay.parser.builder.Builder;
27 import org.apache.shale.clay.parser.builder.InputTextareaBuilder;
28
29 /***
30 * <p>
31 * This <code>Command</code> rule will map an html textarea {@link Node} to a
32 * {@link InputTextareaBuilder}.
33 * </p>
34 */
35 public class TextareaBuilderRule implements Command {
36
37 /***
38 * <p>
39 * Instance of the target
40 * {@link org.apache.shale.clay.parser.builder.InputTextareaBuilder}.
41 * </p>
42 */
43 private static final Builder BUILDER = new InputTextareaBuilder();
44
45 /***
46 * <p>
47 * Returns <code>false</code> if the html {@link Node} was not a textarea.
48 * The {@link BuilderRuleContext} will be passed as a parameter. If a match
49 * is found, a <code>true</code> value is returned completing the chain.
50 * </p>
51 *
52 * @param context commons chains
53 * @return <code>true</code> if the command ends the chain
54 * @exception Exception pushes an exception back to the invoking Command
55 */
56 public boolean execute(Context context) throws Exception {
57
58 boolean isFinal = false;
59
60 BuilderRuleContext builderRuleContext = (BuilderRuleContext) context;
61 Node node = builderRuleContext.getNode();
62 if (!node.isComment() && node.getName() != null
63 && node.getName().equalsIgnoreCase("textarea")) {
64
65 builderRuleContext.setBuilder(BUILDER);
66 isFinal = true;
67
68 }
69
70 return isFinal;
71 }
72
73 }