1 /*
2 * ModeShape (http://www.modeshape.org)
3 * See the COPYRIGHT.txt file distributed with this work for information
4 * regarding copyright ownership. Some portions may be licensed
5 * to Red Hat, Inc. under one or more contributor license agreements.
6 * See the AUTHORS.txt file in the distribution for a full listing of
7 * individual contributors.
8 *
9 * ModeShape is free software. Unless otherwise indicated, all code in ModeShape
10 * is licensed to you under the terms of the GNU Lesser General Public License as
11 * published by the Free Software Foundation; either version 2.1 of
12 * the License, or (at your option) any later version.
13 *
14 * ModeShape is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this software; if not, write to the Free
21 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
22 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
23 */
24 package org.modeshape.graph.query.model;
25
26 /**
27 * The basic interface for all query visitor implementations.
28 */
29 public interface Visitor {
30
31 void visit( AllNodes obj );
32
33 void visit( And obj );
34
35 void visit( Between obj );
36
37 void visit( BindVariableName obj );
38
39 void visit( ChildNode obj );
40
41 void visit( ChildNodeJoinCondition obj );
42
43 void visit( Column obj );
44
45 void visit( Comparison obj );
46
47 void visit( DescendantNode obj );
48
49 void visit( DescendantNodeJoinCondition obj );
50
51 void visit( EquiJoinCondition obj );
52
53 void visit( FullTextSearch obj );
54
55 void visit( FullTextSearchScore obj );
56
57 void visit( Join obj );
58
59 void visit( Length obj );
60
61 void visit( Limit limit );
62
63 void visit( Literal obj );
64
65 void visit( LowerCase obj );
66
67 void visit( NodeLocalName obj );
68
69 void visit( NodeName obj );
70
71 void visit( NodePath obj );
72
73 void visit( NodeDepth obj );
74
75 void visit( NamedSelector obj );
76
77 void visit( Not obj );
78
79 void visit( Or obj );
80
81 void visit( Ordering obj );
82
83 void visit( PropertyExistence obj );
84
85 void visit( PropertyValue obj );
86
87 void visit( Query obj );
88
89 void visit( ReferenceValue obj );
90
91 void visit( SameNode obj );
92
93 void visit( SameNodeJoinCondition obj );
94
95 void visit( SetCriteria obj );
96
97 void visit( SetQuery obj );
98
99 void visit( ArithmeticOperand obj );
100
101 void visit( UpperCase obj );
102
103 }