KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > indexsystem > ByteComparatorSingleColumn


1 package com.daffodilwoods.daffodildb.server.datasystem.indexsystem;
2
3 import java.io.*;
4 import java.util.*;
5 import com.daffodilwoods.daffodildb.server.datasystem.utility.*;
6 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
7 import com.daffodilwoods.daffodildb.utils.comparator.SuperComparator;
8 import com.daffodilwoods.database.resource.DException;
9 import com.daffodilwoods.daffodildb.utils.BufferRange;
10 import com.daffodilwoods.daffodildb.utils._DComparator;
11
12 public class ByteComparatorSingleColumn extends SuperComparator implements /*java.util.Comparator,*/Externalizable{
13
14    boolean orderType;
15    int type;
16    SuperComparator comparator;
17
18    public ByteComparatorSingleColumn(boolean orderType1) {
19       orderType = orderType1;
20    }
21
22    public ByteComparatorSingleColumn() {
23    }
24
25    public ByteComparatorSingleColumn(boolean orderType,SuperComparator comparators0){
26       this.orderType = orderType;
27       comparator = comparators0;
28    }
29
30    public int compareOld(Object JavaDoc first,Object JavaDoc second)throws DException {
31        int compare = first == null ?
32                 second == null ? 0 : -1 :
33                   second == null ? 1 :
34                       compareObjects(first,second);
35        return orderType ? compare : -compare;
36    }
37
38    public int compare(Object JavaDoc first,Object JavaDoc second)throws DException {
39    int compare = 0;
40    try {
41       compare = ( (_DComparator) first).getNull() ? ( (_DComparator) second).getNull() ? 0 : 1
42           : ( (_DComparator) second).getNull() ? -1 : comparator.compare( (_DComparator) first, (_DComparator) second);
43    } catch (ClassCastException JavaDoc ex) {
44       throw ex;
45    }
46       return orderType ? compare : -compare;
47    }
48
49    private int compareObjects(Object JavaDoc first,Object JavaDoc second)throws DException {
50        return comparator.compare(first,second);
51    }
52
53     public void readExternal(ObjectInput objectInput) throws IOException, ClassNotFoundException JavaDoc {
54             orderType = objectInput.readBoolean();
55     }
56
57     public void writeExternal(ObjectOutput objectOutput) throws IOException {
58             objectOutput.writeBoolean(orderType);
59     }
60
61     public String JavaDoc toString() {
62         return ""+comparator.getClass();
63     }
64 }
65
Popular Tags