]> review.fuel-infra Code Review - packages/trusty/mysql-wsrep-5.6.git/blob
60be4cd9ab08ff960b605751db4bd0c8bda1fae0
[packages/trusty/mysql-wsrep-5.6.git] /
1 /*
2    Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; version 2 of the License.
7
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12
13    You should have received a copy of the GNU General Public License
14    along with this program; if not, write to the Free Software
15    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
16 */
17
18 package com.mysql.clusterj.core.query;
19
20
21 import com.mysql.clusterj.core.*;
22 import com.mysql.clusterj.core.spi.DomainTypeHandler;
23 import com.mysql.clusterj.query.QueryBuilder;
24
25 public class QueryBuilderImpl implements QueryBuilder {
26
27     /** My session. */
28     protected SessionImpl session;
29
30     /** Construct a query builder.
31      * 
32      * @param session the session
33      */
34     public QueryBuilderImpl(SessionImpl session) {
35         this.session = session;
36     }
37
38     /** Create a query definition for the named class.
39      * @param cls the class of the candidate
40      * @return the query definition
41      */
42     public <T> QueryDomainTypeImpl<T> createQueryDefinition(Class<T> cls) {
43         DomainTypeHandler<T> domainTypeHandler = session.getDomainTypeHandler(cls);
44         return new QueryDomainTypeImpl<T>(domainTypeHandler, cls);
45     }
46
47     /** Create a query definition for the domain type handler (no class mapping).
48      * @param domainTypeHandler the domain type handler
49      * @return the query definition
50      */
51     public <T> QueryDomainTypeImpl<T> createQueryDefinition(DomainTypeHandler<T> domainTypeHandler) {
52         return new QueryDomainTypeImpl<T>(domainTypeHandler);
53     }
54
55 }