1 package org.apache.maven.lifecycle;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.util.Iterator;
24
25 import org.apache.commons.jxpath.JXPathContext;
26 import org.apache.commons.jxpath.JXPathNotFoundException;
27 import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl;
28 import org.apache.maven.plugin.MojoExecution;
29 import org.apache.maven.project.harness.Xpp3DomPointerFactory;
30
31 public class MojoExecutionXPathContainer
32 {
33 private JXPathContext context;
34
35 static
36 {
37 JXPathContextReferenceImpl.addNodePointerFactory( new Xpp3DomPointerFactory() );
38 }
39
40 public MojoExecutionXPathContainer( MojoExecution mojoExecution )
41 throws IOException
42 {
43 context = JXPathContext.newContext( mojoExecution );
44 }
45
46 public Iterator<?> getIteratorForXPathExpression( String expression )
47 {
48 return context.iterate( expression );
49 }
50
51 public boolean containsXPathExpression( String expression )
52 {
53 return context.getValue( expression ) != null;
54 }
55
56 public Object getValue( String expression )
57 {
58 try
59 {
60 return context.getValue( expression );
61 }
62 catch ( JXPathNotFoundException e )
63 {
64 return null;
65 }
66 }
67
68 public boolean xPathExpressionEqualsValue( String expression, String value )
69 {
70 return context.getValue( expression ) != null && context.getValue( expression ).equals( value );
71 }
72 }