KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > utils > field > FieldLong


1 package com.daffodilwoods.daffodildb.utils.field;
2
3 import com.daffodilwoods.daffodildb.server.sql99.common.Datatypes;
4 import com.daffodilwoods.database.resource.DException;
5 import com.daffodilwoods.daffodildb.utils.BufferRange;
6 import com.daffodilwoods.daffodildb.utils.GetByteComparator;
7 import java.util.*;
8
9 public class FieldLong extends FieldBase implements Datatypes,Comparable JavaDoc{
10
11     public FieldLong(BufferRange bufferRange0,int datatype0) {
12       bufferRange = bufferRange0;
13       datatype = datatype0;
14     }
15
16     public Object JavaDoc getObject() throws DException {
17       if (bufferRange.getNull())
18         return null;
19       if (object != null)
20         return object;
21       long a = 0;
22       try {
23         for (int i = 0, j = 56; i < 8; i++, j -= 8) {
24           a += ( (long) bufferRange.getByte(i) & 0xFF) << j;
25         }
26       }
27       catch (ArrayIndexOutOfBoundsException JavaDoc ex) {
28       }
29       object = new Long JavaDoc(a);
30       return object;
31     }
32
33     public boolean equals(Object JavaDoc fieldBase){
34         try {
35             return (datatype != ((FieldBase)fieldBase).getDatatype()) ? false :
36                     GetByteComparator.sameComparator.compare(this,fieldBase) == 0 ;
37         }
38         catch (DException ex) {
39             return false;
40         }
41     }
42
43     public int compareTo(Object JavaDoc fieldBase){
44         try {
45             return GetByteComparator.sameComparator.compare(this,fieldBase) ;
46         }
47         catch (DException ex) {
48             return -1;
49         }
50     }
51
52     public int hashCode(){
53          try {
54            return ( (Long JavaDoc) getObject()).intValue();
55          }
56          catch (DException ex) {
57           return 0;
58          }
59        }
60
61 }
62
Popular Tags