View Javadoc

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  }