1 package org.apache.ojb.broker.accesslayer.conversions; 2 3 /* Copyright 2002-2005 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * 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 java Boolean values and int values in the rdbms. 21 * @author Thomas Mahler 22 * @version $Id: Boolean2IntFieldConversion.java,v 1.1 2007-08-24 22:17:31 ewestfal Exp $ 23 */ 24 public class Boolean2IntFieldConversion implements FieldConversion 25 { 26 private static Integer I_TRUE = new Integer(1); 27 private static Integer I_FALSE = new Integer(0); 28 29 /* 30 * @see FieldConversion#javaToSql(Object) 31 */ 32 public Object javaToSql(Object source) 33 { 34 if (source instanceof Boolean) 35 { 36 if (source.equals(Boolean.TRUE)) 37 { 38 return I_TRUE; 39 } 40 else 41 { 42 return I_FALSE; 43 } 44 } 45 else 46 { 47 return source; 48 } 49 } 50 51 /* 52 * @see FieldConversion#sqlToJava(Object) 53 */ 54 public Object sqlToJava(Object source) 55 { 56 if (source instanceof Integer) 57 { 58 if (source.equals(I_TRUE)) 59 { 60 return Boolean.TRUE; 61 } 62 else 63 { 64 return Boolean.FALSE; 65 } 66 } 67 else 68 { 69 return source; 70 } 71 } 72 73 }