01: /*
02: * Copyright (c) 1998 - 2005 Versant Corporation
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * Versant Corporation - initial API and implementation
10: */
11: package com.versant.core.jdo.query;
12:
13: /**
14: * Visitor for nodes in the parse tree to generate bytecode for in memory
15: * queries.
16: * @see Node#visit
17: */
18: public interface MemVisitor {
19:
20: public Field visitNode(Node node, Object obj);
21:
22: public Field visitLiteralNode(LiteralNode node, Object obj);
23:
24: public Field visitFieldNavNode(FieldNavNode node, Object obj);
25:
26: public Field visitMethodNode(MethodNode node, Object obj);
27:
28: public Field visitPrimaryExprNode(PrimaryExprNode node, Object obj);
29:
30: public Field visitFieldNode(FieldNode node, Object obj);
31:
32: public Field visitEqualNode(EqualNode node, Object obj);
33:
34: public Field visitNotEqualNode(NotEqualNode node, Object obj);
35:
36: public Field visitLikeNode(LikeNode node, Object obj);
37:
38: public Field visitAndNode(AndNode node, Object obj);
39:
40: public Field visitOrNode(OrNode node, Object obj);
41:
42: public Field visitMultiplyNode(MultiplyNode node, Object obj);
43:
44: public Field visitAddNode(AddNode node, Object obj);
45:
46: public Field visitUnaryOpNode(UnaryOpNode node, Object obj);
47:
48: public Field visitCompareOpNode(CompareOpNode node, Object obj);
49:
50: public Field visitUnaryNode(UnaryNode node, Object obj);
51:
52: public Field visitBinaryNode(BinaryNode node, Object obj);
53:
54: public Field visitMultiNode(Node node, Object obj);
55:
56: public Field visitCastNode(CastNode node, Object obj);
57:
58: public Field visitParamNode(ParamNode node, Object obj);
59:
60: public Field visitParamNodeProxy(ParamNodeProxy node, Object obj);
61:
62: public Field visitArgNode(ArgNode node, Object obj);
63:
64: public Field visitArrayNode(ArrayNode node, Object obj);
65:
66: public Field visitImportNode(ImportNode node, Object obj);
67:
68: public Field visitLeafNode(LeafNode node, Object obj);
69:
70: public Field visitOrderNode(OrderNode node, Object obj);
71:
72: public Field visitVarNode(VarNode node, Object obj);
73:
74: public Field visitVarNodeProxy(VarNodeProxy node, Object obj);
75:
76: public Field visitReservedFieldNode(ReservedFieldNode node,
77: Object obj);
78: }
|