001    package org.apache.commons.ognl;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *  http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    /*
023    *  $Id: NodeVisitor.java 1194866 2011-10-29 10:51:32Z mcucchiara $
024    */
025    public interface NodeVisitor<R, P>
026    {
027        R visit( ASTSequence node, P data )
028            throws OgnlException;
029    
030        R visit( ASTAssign node, P data )
031            throws OgnlException;
032    
033        R visit( ASTTest node, P data )
034            throws OgnlException;
035    
036        R visit( ASTOr node, P data )
037            throws OgnlException;
038    
039        R visit( ASTAnd node, P data )
040            throws OgnlException;
041    
042        R visit( ASTBitOr node, P data )
043            throws OgnlException;
044    
045        R visit( ASTXor node, P data )
046            throws OgnlException;
047    
048        R visit( ASTBitAnd node, P data )
049            throws OgnlException;
050    
051        R visit( ASTEq node, P data )
052            throws OgnlException;
053    
054        R visit( ASTNotEq node, P data )
055            throws OgnlException;
056    
057        R visit( ASTLess node, P data )
058            throws OgnlException;
059    
060        R visit( ASTGreater node, P data )
061            throws OgnlException;
062    
063        R visit( ASTLessEq node, P data )
064            throws OgnlException;
065    
066        R visit( ASTGreaterEq node, P data )
067            throws OgnlException;
068    
069        R visit( ASTIn node, P data )
070            throws OgnlException;
071    
072        R visit( ASTNotIn node, P data )
073            throws OgnlException;
074    
075        R visit( ASTShiftLeft node, P data )
076            throws OgnlException;
077    
078        R visit( ASTShiftRight node, P data )
079            throws OgnlException;
080    
081        R visit( ASTUnsignedShiftRight node, P data )
082            throws OgnlException;
083    
084        R visit( ASTAdd node, P data )
085            throws OgnlException;
086    
087        R visit( ASTSubtract node, P data )
088            throws OgnlException;
089    
090        R visit( ASTMultiply node, P data )
091            throws OgnlException;
092    
093        R visit( ASTDivide node, P data )
094            throws OgnlException;
095    
096        R visit( ASTRemainder node, P data )
097            throws OgnlException;
098    
099        R visit( ASTNegate node, P data )
100            throws OgnlException;
101    
102        R visit( ASTBitNegate node, P data )
103            throws OgnlException;
104    
105        R visit( ASTNot node, P data )
106            throws OgnlException;
107    
108        R visit( ASTInstanceof node, P data )
109            throws OgnlException;
110    
111        R visit( ASTChain node, P data )
112            throws OgnlException;
113    
114        R visit( ASTEval node, P data )
115            throws OgnlException;
116    
117        R visit( ASTConst node, P data )
118            throws OgnlException;
119    
120        R visit( ASTThisVarRef node, P data )
121            throws OgnlException;
122    
123        R visit( ASTRootVarRef node, P data )
124            throws OgnlException;
125    
126        R visit( ASTVarRef node, P data )
127            throws OgnlException;
128    
129        R visit( ASTList node, P data )
130            throws OgnlException;
131    
132        R visit( ASTMap node, P data )
133            throws OgnlException;
134    
135        R visit( ASTKeyValue node, P data )
136            throws OgnlException;
137    
138        R visit( ASTStaticField node, P data )
139            throws OgnlException;
140    
141        R visit( ASTCtor node, P data )
142            throws OgnlException;
143    
144        R visit( ASTProperty node, P data )
145            throws OgnlException;
146    
147        R visit( ASTStaticMethod node, P data )
148            throws OgnlException;
149    
150        R visit( ASTMethod node, P data )
151            throws OgnlException;
152    
153        R visit( ASTProject node, P data )
154            throws OgnlException;
155    
156        R visit( ASTSelect node, P data )
157            throws OgnlException;
158    
159        R visit( ASTSelectFirst node, P data )
160            throws OgnlException;
161    
162        R visit( ASTSelectLast node, P data )
163            throws OgnlException;
164    }