KickJava   Java API By Example, From Geeks To Geeks.

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


1 /**
2  * com.mckoi.database.TJavaObjectType 31 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.database.global.SQLTypes;
28 import com.mckoi.database.global.ByteLongObject;
29
30 /**
31  * An implementation of TType for a java object of possibly defined type.
32  *
33  * @author Tobias Downer
34  */

35
36 public class TJavaObjectType extends TType {
37
38   static final long serialVersionUID = -4413863997719593305L;
39
40   /**
41    * The type of class this is contrained to or null if it is not constrained
42    * to a java class.
43    */

44   private String JavaDoc class_type;
45
46   /**
47    * Constructs the type.
48    */

49   public TJavaObjectType(String JavaDoc class_type) {
50     super(SQLTypes.JAVA_OBJECT);
51     this.class_type = class_type;
52   }
53
54   /**
55    * Returns the java class type of this type. For example, "java.net.URL" if
56    * this type is constrained to a java.net.URL object.
57    */

58   public String JavaDoc getJavaClassTypeString() {
59     return class_type;
60   }
61
62   public boolean comparableTypes(TType type) {
63     return (type instanceof TJavaObjectType);
64   }
65   
66   public int compareObs(Object JavaDoc ob1, Object JavaDoc ob2) {
67     throw new Error JavaDoc("Java object types can not be compared.");
68   }
69   
70   public int calculateApproximateMemoryUse(Object JavaDoc ob) {
71     if (ob != null) {
72       return ((ByteLongObject) ob).length() + 4;
73     }
74     else {
75       return 4 + 8;
76     }
77   }
78
79   public Class JavaDoc javaClass() {
80     return ByteLongObject.class;
81   }
82
83 }
84
Popular Tags