MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
NdbOpenJPAValueHandler.java
1 /*
2  Copyright (c) 2010, 2011, 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.openjpa;
19 
20 import com.mysql.clusterj.ColumnMetadata;
21 import com.mysql.clusterj.core.spi.DomainTypeHandler;
22 import com.mysql.clusterj.core.spi.ValueHandler;
23 import com.mysql.clusterj.core.util.Logger;
24 import com.mysql.clusterj.core.util.LoggerFactoryService;
25 import java.math.BigDecimal;
26 import java.math.BigInteger;
27 import java.sql.Date;
28 import java.sql.Time;
29 import java.sql.Timestamp;
30 import java.util.BitSet;
31 import org.apache.openjpa.kernel.OpenJPAStateManager;
32 
36 public class NdbOpenJPAValueHandler implements ValueHandler {
37 
38  protected OpenJPAStateManager sm;
39 
40  private NdbOpenJPAStoreManager store;
41 
44 
45  protected OpenJPAStateManager getStateManager() {
46  return sm;
47  }
48 
49  protected NdbOpenJPAStoreManager getStoreManager() {
50  return store;
51  }
52 
53  public NdbOpenJPAValueHandler(OpenJPAStateManager sm) {
54  this.sm = sm;
55  }
56 
57  public NdbOpenJPAValueHandler(OpenJPAStateManager sm, NdbOpenJPAStoreManager store) {
58  this.sm = sm;
59  this.store = store;
60  }
61 
62  public boolean isNull(int fieldNumber) {
63  return (sm.fetchObject(fieldNumber) == null);
64  }
65 
66  public boolean isModified(int fieldNumber) {
67  BitSet modified = sm.getDirty();
68  return modified.get(fieldNumber);
69  }
70 
71  public void resetModified() {
72  throw new UnsupportedOperationException("Not supported yet.");
73  }
74 
75  public void markModified(int fieldNumber) {
76  throw new UnsupportedOperationException("Not supported yet.");
77  }
78 
79  public boolean getBoolean(int fieldNumber) {
80  return sm.fetchBoolean(fieldNumber);
81  }
82 
83  public boolean[] getBooleans(int fieldNumber) {
84  throw new UnsupportedOperationException("Not supported yet.");
85  }
86 
87  public Boolean getObjectBoolean(int fieldNumber) {
88  return sm.fetchBoolean(fieldNumber);
89  }
90 
91  public byte getByte(int fieldNumber) {
92  return sm.fetchByte(fieldNumber);
93  }
94 
95  public byte[] getBytes(int fieldNumber) {
96  return (byte[])sm.fetchObject(fieldNumber);
97  }
98 
99  public short getShort(int fieldNumber) {
100  return sm.fetchShort(fieldNumber);
101  }
102 
103  public int getInt(int fieldNumber) {
104  int value = sm.fetchInt(fieldNumber);
105  if (logger.isDetailEnabled()) logger.detail(" fieldNumber: " + fieldNumber + " value: " + value);
106  return value;
107  }
108 
109  public long getLong(int fieldNumber) {
110  long value = sm.fetchLong(fieldNumber);
111  if (logger.isDetailEnabled()) logger.detail(" fieldNumber: " + fieldNumber + " value: " + value);
112  return value;
113  }
114 
115  public float getFloat(int fieldNumber) {
116  return sm.fetchFloat(fieldNumber);
117  }
118 
119  public double getDouble(int fieldNumber) {
120  return sm.fetchDouble(fieldNumber);
121  }
122 
123  public Byte getObjectByte(int fieldNumber) {
124  return (Byte)sm.fetchObject(fieldNumber);
125  }
126 
127  public Short getObjectShort(int fieldNumber) {
128  return (Short)sm.fetchObject(fieldNumber);
129  }
130 
131  public Integer getObjectInt(int fieldNumber) {
132  Integer value = (Integer)sm.fetchObject(fieldNumber);
133  if (logger.isDetailEnabled()) logger.detail(" fieldNumber: " + fieldNumber + " value: " + value);
134  return value;
135  }
136 
137  public Long getObjectLong(int fieldNumber) {
138  return (Long)sm.fetchObject(fieldNumber);
139  }
140 
141  public Float getObjectFloat(int fieldNumber) {
142  return (Float)sm.fetchObject(fieldNumber);
143  }
144 
145  public Double getObjectDouble(int fieldNumber) {
146  return (Double)sm.fetchObject(fieldNumber);
147  }
148 
149  public BigDecimal getBigDecimal(int fieldNumber) {
150  return (BigDecimal)sm.fetchObject(fieldNumber);
151  }
152 
153  public BigInteger getBigInteger(int fieldNumber) {
154  return (BigInteger)sm.fetchObject(fieldNumber);
155  }
156 
157  public String getString(int fieldNumber) {
158  return sm.fetchString(fieldNumber);
159  }
160 
161  public Date getJavaSqlDate(int fieldNumber) {
162  return (java.sql.Date)sm.fetchObject(fieldNumber);
163  }
164 
165  public java.util.Date getJavaUtilDate(int fieldNumber) {
166  return (java.util.Date)sm.fetchObject(fieldNumber);
167  }
168 
169  public Time getJavaSqlTime(int fieldNumber) {
170  return (java.sql.Time)sm.fetchObject(fieldNumber);
171  }
172 
173  public Timestamp getJavaSqlTimestamp(int fieldNumber) {
174  return (java.sql.Timestamp)sm.fetchObject(fieldNumber);
175  }
176 
177  public void setBoolean(int fieldNumber, boolean value) {
178  sm.storeBoolean(fieldNumber, value);
179  }
180 
181  public void setBooleans(int fieldNumber, boolean[] value) {
182  sm.storeObject(fieldNumber, value);
183  }
184 
185  public void setByte(int fieldNumber, byte value) {
186  sm.storeByte(fieldNumber, value);
187  }
188 
189  public void setBytes(int fieldNumber, byte[] value) {
190  sm.storeObject(fieldNumber, value);
191  }
192 
193  public void setShort(int fieldNumber, short value) {
194  sm.storeShort(fieldNumber, value);
195  }
196 
197  public void setInt(int fieldNumber, int value) {
198  if (logger.isDetailEnabled()) logger.detail(" fieldNumber: " + fieldNumber + " value: " + value);
199 // if (fieldNumber == 0) dumpStackTrace();
200  sm.storeInt(fieldNumber, value);
201  }
202 
203  public void setLong(int fieldNumber, long value) {
204  sm.storeLong(fieldNumber, value);
205  }
206 
207  public void setFloat(int fieldNumber, float value) {
208  sm.storeFloat(fieldNumber, value);
209  }
210 
211  public void setDouble(int fieldNumber, double value) {
212  sm.storeDouble(fieldNumber, value);
213  }
214 
215  public void setObjectBoolean(int fieldNumber, Boolean value) {
216  sm.storeObject(fieldNumber, value);
217  }
218 
219  public void setObjectByte(int fieldNumber, Byte value) {
220  sm.storeObject(fieldNumber, value);
221  }
222 
223  public void setObjectShort(int fieldNumber, Short value) {
224  sm.storeObject(fieldNumber, value);
225  }
226 
227  public void setObjectInt(int fieldNumber, Integer value) {
228  if (logger.isDetailEnabled()) logger.detail(" fieldNumber: " + fieldNumber + " value: " + value);
229  sm.storeObject(fieldNumber, value);
230  }
231 
232  public void setObjectLong(int fieldNumber, Long value) {
233  sm.storeObject(fieldNumber, value);
234  }
235 
236  public void setObjectFloat(int fieldNumber, Float value) {
237  sm.storeObject(fieldNumber, value);
238  }
239 
240  public void setObjectDouble(int fieldNumber, Double value) {
241  sm.storeObject(fieldNumber, value);
242  }
243 
244  public void setBigDecimal(int fieldNumber, BigDecimal value) {
245  sm.storeObject(fieldNumber, value);
246  }
247 
248  public void setBigInteger(int fieldNumber, BigInteger value) {
249  sm.storeObject(fieldNumber, value);
250  }
251 
252  public void setString(int fieldNumber, String value) {
253  sm.storeString(fieldNumber, value);
254  }
255 
256  public void setObject(int fieldNumber, Object value) {
257  sm.storeObject(fieldNumber, value);
258  }
259 
260  public void setJavaSqlDate(int fieldNumber, Date value) {
261  sm.storeObject(fieldNumber, value);
262  }
263 
264  public void setJavaUtilDate(int fieldNumber, java.util.Date value) {
265  sm.storeObject(fieldNumber, value);
266  }
267 
268  public void setJavaSqlTime(int fieldNumber, Time value) {
269  sm.storeObject(fieldNumber, value);
270  }
271 
272  public void setJavaSqlTimestamp(int fieldNumber, Timestamp value) {
273  sm.storeObject(fieldNumber, value);
274  }
275 
276  public String pkToString(DomainTypeHandler<?> domainTypeHandler) {
277  StringBuffer sb = new StringBuffer(" key: [");
278  int[] keys = domainTypeHandler.getKeyFieldNumbers();
279  String separator = "";
280  for (int i: keys) {
281  sb.append(separator);
282  sb.append(sm.fetch(i));
283  separator = ";";
284  }
285  sb.append("]");
286  return sb.toString();
287  }
288 
289  @SuppressWarnings("unused")
290  private void dumpStackTrace() {
291  Throwable t = new Throwable();
292  t.printStackTrace();
293  }
294 
295  public void found(Boolean found) {
296  throw new UnsupportedOperationException("Not supported yet.");
297  }
298 
299  public ColumnMetadata[] columnMetadata() {
300  throw new UnsupportedOperationException("Not supported yet.");
301  }
302 
303  public Boolean found() {
304  throw new UnsupportedOperationException("Not supported yet.");
305  }
306 
307  public Object get(int columnNumber) {
308  throw new UnsupportedOperationException("Not supported yet.");
309  }
310 
311  public void set(int columnNumber, Object value) {
312  throw new UnsupportedOperationException("Not supported yet.");
313  }
314 
315 }