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 SqlDateFieldMapping implements UserFieldMapping {
26:
27: /**
28: * Retrieves the java type corresponding to the type into the data support.
29: * @return a Class object (never null).
30: */
31: public Class getStorageType() {
32: return java.util.Date.class;
33: }
34:
35: /**
36: * Retrieves the java type corresponding to the type in memory.
37: * @return a Class object (never null).
38: */
39: public Class getMemoryType() {
40: return java.sql.Date.class;
41: }
42:
43: /**
44: * Converts a value from the data support into a value in memory
45: * @param storagevalue is the value store in the support (can be null).
46: * @return the value in memory (can be null).
47: */
48: public Object toMemory(Object storagevalue) {
49: if (storagevalue == null) {
50: return null;
51: }
52: return (storagevalue instanceof java.sql.Date ? storagevalue
53: : new java.sql.Date(((java.util.Date) storagevalue)
54: .getTime()));
55: }
56:
57: /**
58: * Converts a value from the data support into a value in memory
59: * @param memoryvalue the value in memory (can be null).
60: * @return is the value store in the support (can be null).
61: */
62: public Object toStorage(Object memoryvalue) {
63: return memoryvalue;
64: }
65: }
|