1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jelly.tags.jsl;
17
18 import org.apache.commons.jelly.JellyContext;
19 import org.apache.commons.jelly.expression.ExpressionSupport;
20 import org.dom4j.rule.Pattern;
21 import org.jaxen.VariableContext;
22
23 /*** An expression which returns an XPath based Pattern (like an XSLT pattern).
24 *
25 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
26 * @version $Revision: 155420 $
27 */
28 public class XPathPatternExpression extends ExpressionSupport implements VariableContext {
29
30 private String text;
31 private Pattern pattern;
32 private JellyContext context;
33
34 public XPathPatternExpression(String text, Pattern pattern) {
35 this.text = text;
36 this.pattern = pattern;
37 }
38
39
40
41 public String getExpressionText() {
42 return text;
43 }
44
45 public Object evaluate(JellyContext context) {
46 this.context = context;
47
48 return pattern;
49 }
50
51
52
53 public Object getVariableValue(
54 String namespaceURI,
55 String prefix,
56 String localName) {
57
58 Object value = context.getVariable(localName);
59
60
61
62 return value;
63 }
64 }