01: package org.apache.ojb.broker.accesslayer.conversions;
02:
03: /* Copyright 2002-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: /**
19: * this implementation of the FieldConversion interface converts
20: * between blank strings ("") and nulls values in the rdbms. This is to make
21: * oracle and SQL Server compatible, as Oracle stores blank strings as nulls,
22: * which makes comparisons on re-materialized objects problematic.
23: * @author Matthew Baird
24: * @version $Id: BlankString2NullFieldConversion.java,v 1.5.2.1 2005/12/21 22:23:38 tomdz Exp $
25: */
26: public class BlankString2NullFieldConversion implements FieldConversion {
27:
28: /*
29: * @see FieldConversion#javaToSql(Object)
30: */
31: public Object javaToSql(Object source) {
32: if (source instanceof String) {
33: if (((String) source).trim().length() == 0)
34: return null;
35: }
36: return source;
37: }
38:
39: /*
40: * @see FieldConversion#sqlToJava(Object)
41: */
42: public Object sqlToJava(Object source) {
43: return source;
44: }
45:
46: }
|