001: /**
002: * Speedo: an implementation of JDO compliant personality on top of JORM generic
003: * I/O sub-system.
004: * Copyright (C) 2001-2006 France Telecom
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2 of the License, or (at your option) any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: *
020: * Contact: speedo@objectweb.org
021: *
022: * Authors: S.Chassande-Barrioz.
023: */package org.objectweb.speedo.query.ejb;
024:
025: import java.util.ArrayList;
026: import java.util.Calendar;
027: import java.util.Date;
028: import java.util.List;
029:
030: import javax.persistence.FlushModeType;
031: import javax.persistence.Query;
032: import javax.persistence.TemporalType;
033:
034: import org.objectweb.speedo.pm.api.POManagerItf;
035: import org.objectweb.speedo.query.api.CompiledQuery;
036: import org.objectweb.speedo.query.api.QueryManager;
037: import org.objectweb.util.monolog.api.Logger;
038:
039: /**
040: * EJBQuery is the basic implementation of the javax.persistence.Query interface.
041: * This class is just a wrapper to a SpeedoCompiledQuery object which is a
042: * reused object.
043: *
044: * @author S. Chassande-Barrioz, P. Dechamboux
045: */
046: public class EJBQuery implements Query {
047: /**
048: *
049: */
050: private static final long serialVersionUID = 3412369898739619393L;
051: /**
052: * The queryManager object is used to create or return a CompiledQuery
053: * object.
054: */
055: private QueryManager queryManager = null;
056: /**
057: * Logger for monolog.
058: */
059: private Logger logger = null;
060: private boolean hasChanged = true;
061: private List results;
062: /**
063: * sQueryCompiler is the query, this object can compile and execute the
064: * query. This object is reused in the past, or future.
065: */
066: private CompiledQuery qc = null;
067:
068: public EJBQuery() {
069: //super();
070: results = new ArrayList(1);
071: }
072:
073: public void setLogger(Logger logger) {
074: this .logger = logger;
075: }
076:
077: public QueryManager getQueryManager() {
078: return queryManager;
079: }
080:
081: public void setQueryManager(QueryManager aqm) {
082: queryManager = aqm;
083: }
084:
085: public CompiledQuery getQueryCompiler() {
086: return qc;
087: }
088:
089: public void setQueryCompiler(CompiledQuery aqc) {
090: qc = aqc;
091: }
092:
093: public void setPOManager(POManagerItf apm) {
094: //pm = apm;
095: }
096:
097: public void defineWith(String query) {
098: //TODO: support query definition a single string
099: }
100:
101: // IMPLEMENTATION OF THE Query INTERFACE //
102: //---------------------------------------//
103:
104: public int executeUpdate() {
105: // TODO Auto-generated method stub
106: return 0;
107: }
108:
109: public List getResultList() {
110: // TODO Auto-generated method stub
111: return null;
112: }
113:
114: public Object getSingleResult() {
115: // TODO Auto-generated method stub
116: return null;
117: }
118:
119: public Query setFirstResult(int arg0) {
120: // TODO Auto-generated method stub
121: return null;
122: }
123:
124: public Query setFlushMode(FlushModeType arg0) {
125: // TODO Auto-generated method stub
126: return null;
127: }
128:
129: public Query setHint(String arg0, Object arg1) {
130: // TODO Auto-generated method stub
131: return null;
132: }
133:
134: public Query setMaxResults(int arg0) {
135: // TODO Auto-generated method stub
136: return null;
137: }
138:
139: public Query setParameter(int arg0, Calendar arg1, TemporalType arg2) {
140: // TODO Auto-generated method stub
141: return null;
142: }
143:
144: public Query setParameter(int arg0, Date arg1, TemporalType arg2) {
145: // TODO Auto-generated method stub
146: return null;
147: }
148:
149: public Query setParameter(int arg0, Object arg1) {
150: // TODO Auto-generated method stub
151: return null;
152: }
153:
154: public Query setParameter(String arg0, Calendar arg1,
155: TemporalType arg2) {
156: // TODO Auto-generated method stub
157: return null;
158: }
159:
160: public Query setParameter(String arg0, Date arg1, TemporalType arg2) {
161: // TODO Auto-generated method stub
162: return null;
163: }
164:
165: public Query setParameter(String arg0, Object arg1) {
166: // TODO Auto-generated method stub
167: return null;
168: }
169: }
|