01: /**
02: * Copyright (C) 2001-2004 France Telecom R&D
03: *
04: * This library is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU Lesser General Public
06: * License as published by the Free Software Foundation; either
07: * version 2 of the License, or (at your option) any later version.
08: *
09: * This library is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: * Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public
15: * License along with this library; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: */package org.objectweb.speedo.lib;
18:
19: import org.objectweb.speedo.api.UserFieldMapping;
20:
21: /**
22: *
23: * @author S.Chassande-Barrioz
24: */
25: public class SqlTimestampFieldMapping implements UserFieldMapping {
26: /**
27: * Retrieves the java type corresponding to the type into the data support.
28: * @return a Class object (never null).
29: */
30: public Class getStorageType() {
31: return java.util.Date.class;
32: }
33:
34: /**
35: * Retrieves the java type corresponding to the type in memory.
36: * @return a Class object (never null).
37: */
38: public Class getMemoryType() {
39: return java.sql.Timestamp.class;
40: }
41:
42: /**
43: * Converts a value from the data support into a value in memory
44: * @param storagevalue is the value store in the support (can be null).
45: * @return the value in memory (can be null).
46: */
47: public Object toMemory(Object storagevalue) {
48: if (storagevalue == null) {
49: return null;
50: }
51: return (storagevalue instanceof java.sql.Time ? storagevalue
52: : new java.sql.Timestamp(
53: ((java.util.Date) storagevalue).getTime()));
54: }
55:
56: /**
57: * Converts a value from the data support into a value in memory
58: * @param memoryvalue the value in memory (can be null).
59: * @return is the value store in the support (can be null).
60: */
61: public Object toStorage(Object memoryvalue) {
62: return memoryvalue;
63: }
64: }
|