KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > versant > core > ejb > query > ExistsNode


1
2 /*
3  * Copyright (c) 1998 - 2005 Versant Corporation
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  * Versant Corporation - initial API and implementation
11  */

12 package com.versant.core.ejb.query;
13
14 /**
15  * EXISTS.
16  */

17 public class ExistsNode extends Node {
18
19     private boolean not;
20     private SelectNode subquery;
21
22     public ExistsNode(boolean not, SelectNode subquery) {
23         this.not = not;
24         this.subquery = subquery;
25     }
26
27     public boolean isNot() {
28         return not;
29     }
30
31     public SelectNode getSubquery() {
32         return subquery;
33     }
34
35     public Object JavaDoc arrive(NodeVisitor v, Object JavaDoc msg) {
36         return v.arriveExistsNode(this, msg);
37     }
38
39     public String JavaDoc toStringImp() {
40         StringBuffer JavaDoc s = new StringBuffer JavaDoc();
41         if (not) {
42             s.append("NOT ");
43         }
44         s.append("EXISTS (");
45         s.append(subquery);
46         s.append(')');
47         return s.toString();
48     }
49
50     public void resolve(ResolveContext rc) {
51         subquery.resolve(rc);
52     }
53
54 }
55
56
Popular Tags