KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mckoi > database > TBooleanType


1 /**
2  * com.mckoi.database.TBooleanType 26 Jul 2002
3  *
4  * Mckoi SQL Database ( http://www.mckoi.com/database )
5  * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * Version 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License Version 2 for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * Version 2 along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  *
20  * Change Log:
21  *
22  *
23  */

24
25 package com.mckoi.database;
26
27 import com.mckoi.util.BigNumber;
28
29 /**
30  * An implementation of TType for a boolean value.
31  *
32  * @author Tobias Downer
33  */

34
35 public final class TBooleanType extends TType {
36
37   static final long serialVersionUID = 5602396246537490259L;
38
39   /**
40    * Constructs the type.
41    */

42   public TBooleanType(int sql_type) {
43     super(sql_type);
44   }
45
46   public boolean comparableTypes(TType type) {
47     return (type instanceof TBooleanType ||
48             type instanceof TNumericType);
49   }
50   
51   public int compareObs(Object JavaDoc ob1, Object JavaDoc ob2) {
52
53     if (ob2 instanceof BigNumber) {
54       BigNumber n2 = (BigNumber) ob2;
55       BigNumber n1 = ob1.equals(Boolean.FALSE) ?
56                         BigNumber.BIG_NUMBER_ZERO : BigNumber.BIG_NUMBER_ONE;
57       return n1.compareTo(n2);
58     }
59     
60     if (ob1 == ob2 || ob1.equals(ob2)) {
61       return 0;
62     }
63     else if (ob1.equals(Boolean.TRUE)) {
64       return 1;
65     }
66     else {
67       return -1;
68     }
69   }
70   
71   public int calculateApproximateMemoryUse(Object JavaDoc ob) {
72     return 5;
73   }
74
75   
76   public Class JavaDoc javaClass() {
77     return Boolean JavaDoc.class;
78   }
79
80 }
81
Popular Tags