1 package org.apache.commons.ognl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.commons.ognl.enhance.UnsupportedCompilationException;
23
24
25
26
27
28
29 class ASTIn
30 extends SimpleNode
31 implements NodeType
32 {
33 public ASTIn( int id )
34 {
35 super( id );
36 }
37
38 public ASTIn( OgnlParser p, int id )
39 {
40 super( p, id );
41 }
42
43 protected Object getValueBody( OgnlContext context, Object source )
44 throws OgnlException
45 {
46 Object v1 = children[0].getValue( context, source );
47 Object v2 = children[1].getValue( context, source );
48
49 return OgnlOps.in( v1, v2 ) ? Boolean.TRUE : Boolean.FALSE;
50 }
51
52 public Class getGetterClass()
53 {
54 return Boolean.TYPE;
55 }
56
57 public Class getSetterClass()
58 {
59 return null;
60 }
61
62 public String toGetSourceString( OgnlContext context, Object target )
63 {
64 try
65 {
66 String result = "org.apache.commons.ognl.OgnlOps.in( ($w) ";
67
68 result +=
69 OgnlRuntime.getChildSource( context, target, children[0] ) + ", ($w) "
70 + OgnlRuntime.getChildSource( context, target, children[1] );
71
72 result += ")";
73
74 context.setCurrentType( Boolean.TYPE );
75
76 return result;
77 }
78 catch ( NullPointerException e )
79 {
80
81
82 e.printStackTrace();
83
84 throw new UnsupportedCompilationException( "evaluation resulted in null expression." );
85 }
86 catch ( Throwable t )
87 {
88 throw OgnlOps.castToRuntime( t );
89 }
90 }
91
92 public String toSetSourceString( OgnlContext context, Object target )
93 {
94 throw new UnsupportedCompilationException( "Map expressions not supported as native java yet." );
95 }
96
97 public <R, P> R accept( NodeVisitor<? extends R, ? super P> visitor, P data )
98 throws OgnlException
99 {
100 return visitor.visit( this, data );
101 }
102 }