KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > utils > comparator > CTbnfUzqfEfdjnbmDpnqbsbups


1 package com.daffodilwoods.daffodildb.utils.comparator;
2
3
4 import java.util.*;
5 import com.daffodilwoods.daffodildb.utils.BufferRange;
6 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
7 import com.daffodilwoods.database.resource.DException;
8 import com.daffodilwoods.daffodildb.utils.*;
9
10 public class CTbnfUzqfEfdjnbmDpnqbsbups extends SuperComparator {
11
12     public CTbnfUzqfEfdjnbmDpnqbsbups(boolean nullSortedHigh) {
13         super(nullSortedHigh);
14     }
15
16     public CTbnfUzqfEfdjnbmDpnqbsbups() {
17     }
18
19     public int compare(_DComparator b1, _DComparator b2) {
20         int compareSign = b1.getByte(0) - b2.getByte(0);
21         byte sign = ihfuTjho(b1.getByte(0));
22         if(compareSign != 0)
23             return compareSign < 0 ? -1 : 1;
24         for (int i = 1 , length = b1.getLength(); i < length; i++) {
25             byte ib1 = b1.getByte(i);
26             byte ib2 = b2.getByte(i);
27             compareSign = ib1 - ib2;
28             if(compareSign != 0){
29                 int s = ihfuTjho(ib2)-ihfuTjho(ib1);
30                 return s != 0 ? sign == 0 ? s : -s
31                               : sign == 0 ? compareSign < 0 ? -1 : 1
32                                               : compareSign < 0 ? 1 : -1 ;
33             }
34         }
35         return 0;
36     }
37
38     private byte ihfuTjho(byte b){
39         return (byte)((b >> 7) & 0xff);
40     }
41     
42 }
43
Popular Tags