KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > mergesystem > KeyComparator


1 package com.daffodilwoods.daffodildb.server.datasystem.mergesystem;
2
3 import com.daffodilwoods.daffodildb.utils.comparator.SuperComparator;
4 import com.daffodilwoods.daffodildb.utils.GetByteComparator;
5 import com.daffodilwoods.daffodildb.utils._DComparator;
6 import com.daffodilwoods.database.resource.DException;
7
8 public class KeyComparator extends SuperComparator{
9
10     SuperComparator comparator = GetByteComparator.sameComparator;
11
12     public KeyComparator(){
13     }
14
15     public int compare(Object JavaDoc first,Object JavaDoc second) throws DException{
16        Object JavaDoc[] o1 = (Object JavaDoc[])first;
17        Object JavaDoc[] o2 = (Object JavaDoc[])second;
18        int compare = 0;
19        for( int i = 0,length1 = o1.length-1,length2 = o2.length-1; i < 3 && compare == 0; i++,length1--,length2--){
20           compare = ((_DComparator)o1[length1]).getNull() && ((_DComparator)o2[length2]).getNull() ? 0 : comparator.compare(o1[length1],o2[length2]);
21        }
22        return compare;
23     }
24 }
25
26
Popular Tags