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.ejb.query;
12:
13: /**
14: * Callback interface for a EJBQL Node tree.
15: *
16: * @see Node#arrive(NodeVisitor, Object)
17: */
18: public interface NodeVisitor {
19:
20: public Object arriveAddNode(AddNode node, Object msg);
21:
22: public Object arriveAggregateNode(AggregateNode node, Object msg);
23:
24: public Object arriveAllOrAnyNode(AllOrAnyNode node, Object msg);
25:
26: public Object arriveAndNode(AndNode node, Object msg);
27:
28: public Object arriveBetweenNode(BetweenNode node, Object msg);
29:
30: public Object arriveCollectionMemberNode(CollectionMemberNode node,
31: Object msg);
32:
33: public Object arriveCompNode(CompNode node, Object msg);
34:
35: public Object arriveConstructorNode(ConstructorNode node, Object msg);
36:
37: public Object arriveDateFunctionNode(DateFunctionNode node,
38: Object msg);
39:
40: public Object arriveDeleteNode(DeleteNode node, Object msg);
41:
42: public Object arriveEmptyCompNode(EmptyCompNode node, Object msg);
43:
44: public Object arriveExistsNode(ExistsNode node, Object msg);
45:
46: public Object arriveIdentificationVarNode(
47: IdentificationVarNode node, Object msg);
48:
49: public Object arriveInNode(InNode node, Object msg);
50:
51: public Object arriveJoinNode(JoinNode node, Object msg);
52:
53: public Object arriveLikeNode(LikeNode node, Object msg);
54:
55: public Object arriveLiteralNode(LiteralNode node, Object msg);
56:
57: public Object arriveMemberCompNode(MemberCompNode node, Object msg);
58:
59: public Object arriveMultiplyNode(MultiplyNode node, Object msg);
60:
61: public Object arriveNotNode(NotNode node, Object msg);
62:
63: public Object arriveNullCompNode(NullCompNode node, Object msg);
64:
65: public Object arriveNumericFunctionNode(NumericFunctionNode node,
66: Object msg);
67:
68: public Object arriveObjectNode(ObjectNode node, Object msg);
69:
70: public Object arriveOrNode(OrNode node, Object msg);
71:
72: public Object arriveParameterNode(ParameterNode node, Object msg);
73:
74: public Object arriveParenNode(ParenNode node, Object msg);
75:
76: public Object arrivePathNode(PathNode node, Object msg);
77:
78: public Object arriveSelectNode(SelectNode node, Object msg);
79:
80: public Object arriveSetNode(SetNode node, Object msg);
81:
82: public Object arriveStringFunctionNode(StringFunctionNode node,
83: Object msg);
84:
85: public Object arriveUnaryMinusNode(UnaryMinusNode node, Object msg);
86:
87: public Object arriveUpdateNode(UpdateNode node, Object msg);
88:
89: }
|