01: /**
02: * Objective Database Abstraction Layer (ODAL)
03: * Copyright (c) 2004, The ODAL Development Group
04: * All rights reserved.
05: * For definition of the ODAL Development Group please refer to LICENCE.txt file
06: *
07: * Distributable under LGPL license.
08: * See terms of license at gnu.org.
09: */package com.completex.objective.components.persistency.core.impl.query;
10:
11: import com.completex.objective.components.persistency.Persistency;
12: import com.completex.objective.components.persistency.QueryFactoryCtl;
13: import com.completex.objective.components.persistency.ResultableQuery;
14: import com.completex.objective.components.persistency.SelectQueryBuilder;
15: import com.completex.objective.components.persistency.core.DatabasePolicy;
16:
17: /**
18: * @author Gennady Krizhevsky
19: */
20: public abstract class AbstractQueryFactory {
21: protected Persistency persistency;
22: protected SelectQueryBuilder queryBuilder;
23:
24: //
25: // Accessors:
26: //
27: public DatabasePolicy getDatabasePolicy() {
28: return persistency.getDatabasePolicy();
29: }
30:
31: public Persistency getPersistency() {
32: return persistency;
33: }
34:
35: public SelectQueryBuilder getQueryBuilder() {
36: return queryBuilder;
37: }
38:
39: //
40: // Util methods:
41: //
42: protected void setupDisconnectedPageQuery(ResultableQuery query,
43: long offset, long pageSize) {
44: query.setOffset(offset);
45: query.setPageSize(pageSize);
46: query.setDisconnectedPageQuery(true);
47: }
48:
49: protected void setup(BaseQueryImpl query) {
50: query.setPersistency(persistency);
51: // query.setQueryBuilder(queryBuilder);
52: query.setParentQueryFactory(((QueryFactoryCtl) this));
53: }
54: }
|