You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gr...@apache.org on 2011/10/09 15:17:57 UTC

svn commit: r1180607 - in /commons/proper/ognl/trunk/src: changes/ main/java/org/apache/commons/ognl/

Author: grobmeier
Date: Sun Oct  9 13:17:55 2011
New Revision: 1180607

URL: http://svn.apache.org/viewvc?rev=1180607&view=rev
Log:
OGNL-24: applied patch from Daniel Pitts to support visitor pattern - thanks!

Added:
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java   (with props)
Modified:
    commons/proper/ognl/trunk/src/changes/changes.xml
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAdd.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAnd.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAssign.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitAnd.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitOr.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTChain.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTConst.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTCtor.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTDivide.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEq.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEval.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreater.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreaterEq.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTIn.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTInstanceof.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTKeyValue.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLess.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLessEq.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTList.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMap.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMethod.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMultiply.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNegate.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNot.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotEq.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotIn.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTOr.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProject.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProperty.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRemainder.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelect.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectFirst.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectLast.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSequence.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftLeft.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftRight.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticField.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSubtract.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTTest.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTThisVarRef.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTUnsignedShiftRight.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTVarRef.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTXor.java
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/Node.java

Modified: commons/proper/ognl/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/changes/changes.xml?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/changes/changes.xml (original)
+++ commons/proper/ognl/trunk/src/changes/changes.xml Sun Oct  9 13:17:55 2011
@@ -23,7 +23,8 @@
   </properties>
   <body>
   <release version="4.0-incubating" date="TBD" description="First ASF release under Incubation.">
-    <action issue="OGNL-8" type="update" dev="Christian Grobmeier">OGNL-8 - enabled generation of javacc Parser classes</action>
+  	<action issue="OGNL-24" type="update" dev="Christian Grobmeier">OGNL-24 - Support visitor pattern on AST (contributed by Daniel Pitts)</action>
+    <action issue="OGNL-8" type="update" dev="Christian Grobmeier">OGNL-8 - enabled generation of javacc Parser classes)</action>
   </release>
   </body>
 </document>

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAdd.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAdd.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAdd.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAdd.java Sun Oct  9 13:17:55 2011
@@ -302,4 +302,9 @@ class ASTAdd
             throw OgnlOps.castToRuntime( t );
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAnd.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAnd.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAnd.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAnd.java Sun Oct  9 13:17:55 2011
@@ -186,4 +186,9 @@ public class ASTAnd
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAssign.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAssign.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAssign.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTAssign.java Sun Oct  9 13:17:55 2011
@@ -144,4 +144,9 @@ class ASTAssign
 
         return result + value + ")";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitAnd.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitAnd.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitAnd.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitAnd.java Sun Oct  9 13:17:55 2011
@@ -59,4 +59,9 @@ class ASTBitAnd
     {
         return "(long)" + super.coerceToNumeric( source, context, child );
     }
-}
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
+}
\ No newline at end of file

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitNegate.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitNegate.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitNegate.java Sun Oct  9 13:17:55 2011
@@ -60,4 +60,9 @@ class ASTBitNegate
             return "~(" + source + ")";
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitOr.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitOr.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitOr.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTBitOr.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTBitOr
     {
         return "|";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTChain.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTChain.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTChain.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTChain.java Sun Oct  9 13:17:55 2011
@@ -495,4 +495,9 @@ public class ASTChain
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTConst.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTConst.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTConst.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTConst.java Sun Oct  9 13:17:55 2011
@@ -213,4 +213,9 @@ public class ASTConst
 
         return toGetSourceString( context, target );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTCtor.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTCtor.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTCtor.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTCtor.java Sun Oct  9 13:17:55 2011
@@ -374,4 +374,9 @@ public class ASTCtor
     {
         return "";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTDivide.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTDivide.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTDivide.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTDivide.java Sun Oct  9 13:17:55 2011
@@ -49,4 +49,9 @@ class ASTDivide
         return "/";
     }
 
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEq.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEq.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEq.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEq.java Sun Oct  9 13:17:55 2011
@@ -53,4 +53,9 @@ class ASTEq
     {
         return "org.apache.commons.ognl.OgnlOps.equal";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEval.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEval.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEval.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTEval.java Sun Oct  9 13:17:55 2011
@@ -92,4 +92,9 @@ class ASTEval
     {
         throw new UnsupportedCompilationException( "Map expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreater.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreater.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreater.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreater.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTGreater
     {
         return "org.apache.commons.ognl.OgnlOps.greater";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreaterEq.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreaterEq.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreaterEq.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTGreaterEq.java Sun Oct  9 13:17:55 2011
@@ -53,4 +53,9 @@ class ASTGreaterEq
     {
         return "!org.apache.commons.ognl.OgnlOps.less";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTIn.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTIn.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTIn.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTIn.java Sun Oct  9 13:17:55 2011
@@ -97,4 +97,9 @@ class ASTIn
     {
         throw new UnsupportedCompilationException( "Map expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTInstanceof.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTInstanceof.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTInstanceof.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTInstanceof.java Sun Oct  9 13:17:55 2011
@@ -93,4 +93,9 @@ public class ASTInstanceof
     {
         return toGetSourceString( context, target );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTKeyValue.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTKeyValue.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTKeyValue.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTKeyValue.java Sun Oct  9 13:17:55 2011
@@ -59,4 +59,9 @@ class ASTKeyValue
     {
         return getKey() + " -> " + getValue();
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLess.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLess.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLess.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLess.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTLess
     {
         return "org.apache.commons.ognl.OgnlOps.less";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLessEq.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLessEq.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLessEq.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTLessEq.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTLessEq
         return "!org.apache.commons.ognl.OgnlOps.greater";
     }
 
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTList.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTList.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTList.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTList.java Sun Oct  9 13:17:55 2011
@@ -235,4 +235,9 @@ public class ASTList
     {
         throw new UnsupportedCompilationException( "Can't generate setter for ASTList." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMap.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMap.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMap.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMap.java Sun Oct  9 13:17:55 2011
@@ -137,4 +137,9 @@ class ASTMap
     {
         throw new UnsupportedCompilationException( "Map expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMethod.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMethod.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMethod.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMethod.java Sun Oct  9 13:17:55 2011
@@ -575,4 +575,9 @@ public class ASTMethod
 
         return result + ")" + post;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMultiply.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMultiply.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMultiply.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTMultiply.java Sun Oct  9 13:17:55 2011
@@ -55,4 +55,9 @@ class ASTMultiply
     {
         return "*";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNegate.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNegate.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNegate.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNegate.java Sun Oct  9 13:17:55 2011
@@ -60,4 +60,9 @@ class ASTNegate
             return "-(" + source + ")";
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNot.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNot.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNot.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNot.java Sun Oct  9 13:17:55 2011
@@ -67,4 +67,9 @@ class ASTNot
             throw OgnlOps.castToRuntime( t );
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotEq.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotEq.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotEq.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotEq.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTNotEq
     {
         return "!org.apache.commons.ognl.OgnlOps.equal";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotIn.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotIn.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotIn.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTNotIn.java Sun Oct  9 13:17:55 2011
@@ -91,4 +91,9 @@ class ASTNotIn
             throw OgnlOps.castToRuntime( t );
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTOr.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTOr.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTOr.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTOr.java Sun Oct  9 13:17:55 2011
@@ -182,4 +182,9 @@ public class ASTOr
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProject.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProject.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProject.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProject.java Sun Oct  9 13:17:55 2011
@@ -74,4 +74,9 @@ class ASTProject
     {
         throw new UnsupportedCompilationException( "Projection expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProperty.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProperty.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProperty.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTProperty.java Sun Oct  9 13:17:55 2011
@@ -703,4 +703,9 @@ public class ASTProperty
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRemainder.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRemainder.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRemainder.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRemainder.java Sun Oct  9 13:17:55 2011
@@ -48,4 +48,9 @@ class ASTRemainder
     {
         return "%";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTRootVarRef.java Sun Oct  9 13:17:55 2011
@@ -79,4 +79,9 @@ public class ASTRootVarRef
         else
             return "$3";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelect.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelect.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelect.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelect.java Sun Oct  9 13:17:55 2011
@@ -76,4 +76,9 @@ class ASTSelect
     {
         throw new UnsupportedCompilationException( "Eval expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectFirst.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectFirst.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectFirst.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectFirst.java Sun Oct  9 13:17:55 2011
@@ -76,4 +76,9 @@ class ASTSelectFirst
     {
         throw new UnsupportedCompilationException( "Eval expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectLast.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectLast.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectLast.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSelectLast.java Sun Oct  9 13:17:55 2011
@@ -76,4 +76,9 @@ class ASTSelectLast
     {
         throw new UnsupportedCompilationException( "Eval expressions not supported as native java yet." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSequence.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSequence.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSequence.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSequence.java Sun Oct  9 13:17:55 2011
@@ -166,4 +166,9 @@ public class ASTSequence
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftLeft.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftLeft.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftLeft.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftLeft.java Sun Oct  9 13:17:55 2011
@@ -48,4 +48,9 @@ class ASTShiftLeft
     {
         return "<<";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftRight.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftRight.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftRight.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTShiftRight.java Sun Oct  9 13:17:55 2011
@@ -48,4 +48,9 @@ class ASTShiftRight
     {
         return ">>";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticField.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticField.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticField.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticField.java Sun Oct  9 13:17:55 2011
@@ -218,4 +218,9 @@ public class ASTStaticField
 
         return className + "." + fieldName;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java Sun Oct  9 13:17:55 2011
@@ -263,4 +263,9 @@ public class ASTStaticMethod
     {
         return toGetSourceString( context, target );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSubtract.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSubtract.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSubtract.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTSubtract.java Sun Oct  9 13:17:55 2011
@@ -48,4 +48,9 @@ class ASTSubtract
     {
         return "-";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTTest.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTTest.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTTest.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTTest.java Sun Oct  9 13:17:55 2011
@@ -133,4 +133,9 @@ class ASTTest
             throw OgnlOps.castToRuntime( t );
         }
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTThisVarRef.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTThisVarRef.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTThisVarRef.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTThisVarRef.java Sun Oct  9 13:17:55 2011
@@ -65,4 +65,9 @@ public class ASTThisVarRef
     {
         throw new UnsupportedCompilationException( "Unable to compile this references." );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTUnsignedShiftRight.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTUnsignedShiftRight.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTUnsignedShiftRight.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTUnsignedShiftRight.java Sun Oct  9 13:17:55 2011
@@ -84,4 +84,9 @@ class ASTUnsignedShiftRight
 
         return result;
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTVarRef.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTVarRef.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTVarRef.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTVarRef.java Sun Oct  9 13:17:55 2011
@@ -133,4 +133,9 @@ public class ASTVarRef
     {
         return toGetSourceString( context, target );
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTXor.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTXor.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTXor.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/ASTXor.java Sun Oct  9 13:17:55 2011
@@ -54,4 +54,9 @@ class ASTXor
     {
         return "^";
     }
+    
+    public <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data) 
+    {
+        return visitor.visit(this, data);
+    }
 }

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/Node.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/Node.java?rev=1180607&r1=1180606&r2=1180607&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/Node.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/Node.java Sun Oct  9 13:17:55 2011
@@ -91,4 +91,19 @@ public interface Node
      * @param accessor The compiled representation of this node.
      */
     void setAccessor( ExpressionAccessor accessor );
+
+
+    /**
+     * Supports the Visitor pattern. The method which corresponds to
+     * the runtime type of this Node will be called.
+     * @param visitor The visitor to accept.
+     * @param data The second parameter to pass through to visitor.visit
+     * @param <R> The return type of the visitor.visit method.
+     * @param <P> The type of the second parameter type.
+     * @return the value returned by visitor.visit
+     * @throws NullPointerException if visitor is null
+     * @throws RuntimeException if visitor.visit throws an exception.
+     */
+    <R,P> R accept(NodeVisitor<? extends R, ? super P> visitor, P data);
+
 }

Added: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java?rev=1180607&view=auto
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java (added)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java Sun Oct  9 13:17:55 2011
@@ -0,0 +1,71 @@
+/*
+ * $Id: $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.ognl;
+
+public interface NodeVisitor<R, P>
+{
+  public R visit(ASTSequence node, P data);
+  public R visit(ASTAssign node, P data);
+  public R visit(ASTTest node, P data);
+  public R visit(ASTOr node, P data);
+  public R visit(ASTAnd node, P data);
+  public R visit(ASTBitOr node, P data);
+  public R visit(ASTXor node, P data);
+  public R visit(ASTBitAnd node, P data);
+  public R visit(ASTEq node, P data);
+  public R visit(ASTNotEq node, P data);
+  public R visit(ASTLess node, P data);
+  public R visit(ASTGreater node, P data);
+  public R visit(ASTLessEq node, P data);
+  public R visit(ASTGreaterEq node, P data);
+  public R visit(ASTIn node, P data);
+  public R visit(ASTNotIn node, P data);
+  public R visit(ASTShiftLeft node, P data);
+  public R visit(ASTShiftRight node, P data);
+  public R visit(ASTUnsignedShiftRight node, P data);
+  public R visit(ASTAdd node, P data);
+  public R visit(ASTSubtract node, P data);
+  public R visit(ASTMultiply node, P data);
+  public R visit(ASTDivide node, P data);
+  public R visit(ASTRemainder node, P data);
+  public R visit(ASTNegate node, P data);
+  public R visit(ASTBitNegate node, P data);
+  public R visit(ASTNot node, P data);
+  public R visit(ASTInstanceof node, P data);
+  public R visit(ASTChain node, P data);
+  public R visit(ASTEval node, P data);
+  public R visit(ASTConst node, P data);
+  public R visit(ASTThisVarRef node, P data);
+  public R visit(ASTRootVarRef node, P data);
+  public R visit(ASTVarRef node, P data);
+  public R visit(ASTList node, P data);
+  public R visit(ASTMap node, P data);
+  public R visit(ASTKeyValue node, P data);
+  public R visit(ASTStaticField node, P data);
+  public R visit(ASTCtor node, P data);
+  public R visit(ASTProperty node, P data);
+  public R visit(ASTStaticMethod node, P data);
+  public R visit(ASTMethod node, P data);
+  public R visit(ASTProject node, P data);
+  public R visit(ASTSelect node, P data);
+  public R visit(ASTSelectFirst node, P data);
+  public R visit(ASTSelectLast node, P data);
+}

Propchange: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/NodeVisitor.java
------------------------------------------------------------------------------
    svn:eol-style = native