Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/objectstyle/cayenne/query/PrefetchSelectQuery.java


1   /* ====================================================================
2    * 
3    * The ObjectStyle Group Software License, Version 1.0 
4    *
5    * Copyright (c) 2002-2003 The ObjectStyle Group 
6    * and individual authors of the software.  All rights reserved.
7    *
8    * Redistribution and use in source and binary forms, with or without
9    * modification, are permitted provided that the following conditions
10   * are met:
11   *
12   * 1. Redistributions of source code must retain the above copyright
13   *    notice, this list of conditions and the following disclaimer. 
14   *
15   * 2. Redistributions in binary form must reproduce the above copyright
16   *    notice, this list of conditions and the following disclaimer in
17   *    the documentation and/or other materials provided with the
18   *    distribution.
19   *
20   * 3. The end-user documentation included with the redistribution, if
21   *    any, must include the following acknowlegement:  
22   *       "This product includes software developed by the 
23   *        ObjectStyle Group (http://objectstyle.org/)."
24   *    Alternately, this acknowlegement may appear in the software itself,
25   *    if and wherever such third-party acknowlegements normally appear.
26   *
27   * 4. The names "ObjectStyle Group" and "Cayenne" 
28   *    must not be used to endorse or promote products derived
29   *    from this software without prior written permission. For written 
30   *    permission, please contact andrus@objectstyle.org.
31   *
32   * 5. Products derived from this software may not be called "ObjectStyle"
33   *    nor may "ObjectStyle" appear in their names without prior written
34   *    permission of the ObjectStyle Group.
35   *
36   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39   * DISCLAIMED.  IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
40   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47   * SUCH DAMAGE.
48   * ====================================================================
49   *
50   * This software consists of voluntary contributions made by many
51   * individuals on behalf of the ObjectStyle Group.  For more
52   * information on the ObjectStyle Group, please see
53   * <http://objectstyle.org/>.
54   *
55   */package org.objectstyle.cayenne.query;
56  
57  import org.objectstyle.cayenne.exp.Expression;
58  import org.objectstyle.cayenne.map.ObjEntity;
59  import org.objectstyle.cayenne.map.ObjRelationship;
60  
61  /**
62   * 
63   * @author Craig Miskell
64   */
65  public class PrefetchSelectQuery extends SelectQuery {
66    /** The query that provides the "root" objects of the prefetch*/
67    protected SelectQuery rootQuery;
68    
69    /** The relationship path from root objects to the objects being prefetched*/
70    protected String prefetchPath;
71    
72    protected ObjRelationship singleStepToManyRelationship=null;
73    
74    /**
75     * Constructor for PrefetchSelectQuery.
76     */
77    public PrefetchSelectQuery() {
78      super();
79    }
80  
81    /**
82     * Constructor for PrefetchSelectQuery.
83     * @param root
84     */
85    public PrefetchSelectQuery(ObjEntity root) {
86      super(root);
87    }
88  
89    /**
90     * Constructor for PrefetchSelectQuery.
91     * @param root
92     * @param qualifier
93     */
94    public PrefetchSelectQuery(ObjEntity root, Expression qualifier) {
95      super(root, qualifier);
96    }
97  
98    /**
99     * Constructor for PrefetchSelectQuery.
100    * @param rootClass
101    */
102   public PrefetchSelectQuery(Class rootClass) {
103     super(rootClass);
104   }
105 
106   /**
107    * Constructor for PrefetchSelectQuery.
108    * @param rootClass
109    * @param qualifier
110    */
111   public PrefetchSelectQuery(Class rootClass, Expression qualifier) {
112     super(rootClass, qualifier);
113   }
114 
115   /**
116    * Constructor for PrefetchSelectQuery.
117    * @param objEntityName
118    */
119   public PrefetchSelectQuery(String objEntityName) {
120     super(objEntityName);
121   }
122 
123   /**
124    * Constructor for PrefetchSelectQuery.
125    * @param objEntityName
126    * @param qualifier
127    */
128   public PrefetchSelectQuery(String objEntityName, Expression qualifier) {
129     super(objEntityName, qualifier);
130   }
131   
132   /**
133    * Returns the prefetchPath.
134    * @return String
135    */
136   public String getPrefetchPath() {
137     return prefetchPath;
138   }
139 
140   /**
141    * Sets the prefetchPath.
142    * @param prefetchPath The prefetchPath to set
143    */
144   public void setPrefetchPath(String prefetchPath) {
145     this.prefetchPath = prefetchPath;
146   }
147 
148   /**
149    * @return SelectQuery
150    */
151   public SelectQuery getRootQuery() {
152     return rootQuery;
153   }
154 
155   /**
156    * Sets the rootQuery.
157    * @param rootQuery The rootQuery to set
158    */
159   public void setRootQuery(SelectQuery rootQuery) {
160     this.rootQuery = rootQuery;
161   }
162 
163   /**
164    * @return ObjRelationship
165    */
166   public ObjRelationship getSingleStepToManyRelationship() {
167     return singleStepToManyRelationship;
168   }
169 
170   /**
171    * Sets the singleStepToManyRelationship.
172    * @param singleStepToManyRelationship The singleStepToManyRelationship to set
173    */
174   public void setSingleStepToManyRelationship(ObjRelationship singleStepToManyRelationship) {
175     this.singleStepToManyRelationship = singleStepToManyRelationship;
176   }
177 }