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 FieldDate extends FieldBase implements Datatypes,Comparable { 10 11 public FieldDate(BufferRange bufferRange0,int datatype0) { 12 bufferRange = bufferRange0; 13 datatype = datatype0; 14 } 15 16 public Object getObject() throws DException{ 17 if(bufferRange.getNull()) 18 return null; 19 if(object!=null) 20 return object; 21 return object= new com.daffodilwoods.daffodildb.utils.DBDate(getLong()); 22 23 } 24 25 private long getLong(){ 26 long a = 0; 27 for(int i = 0 , j = 56 ; i < 8 ; i++ , j -= 8) 28 a += ((long)bufferRange.getByte(i) & 0xFF) << j; 29 return a; 30 } 31 32 public boolean equals(Object fieldBase){ 33 try { 34 return (getDatatype() != ((FieldBase)fieldBase).getDatatype()) ? false : GetByteComparator.sameComparator.compare(this,fieldBase) == 0; 35 } 36 catch (DException ex) { 37 return false; 38 } 39 } 40 41 public int compareTo(Object fieldBase){ 42 try { 43 return GetByteComparator.sameComparator.compare(this,fieldBase) ; 44 } 45 catch (DException ex) { 46 return -1; 47 } 48 } 49 50 51 } 52 | Popular Tags |