KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sessionsystem > sessioncondition > PersistentCondition


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.daffodildb.utils.byteconverter.CCzufDpowfsufs;
5 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
7 import com.daffodilwoods.database.general.SystemFields;
8
9 /**
10  *
11  * <p>Description: </p>
12  * <p>Company: Daffodil Software Ltd. </p>
13  * @version 1.0
14  */

15 public class PersistentCondition implements _SessionCondition {
16
17     Object JavaDoc[] condition;
18     private static int[] TIT = {SystemFields.transactionId ,SystemFields.invalidTransactionId } ;
19     public PersistentCondition(Object JavaDoc presentConditionValues) {
20         condition = new Object JavaDoc[2];
21         Object JavaDoc transactionId = presentConditionValues;
22         condition[0] = transactionId;
23         condition[1] = transactionId;
24     }
25
26
27     public boolean evaluate(_Iterator nonIndexedIterator ) throws DException {
28        Object JavaDoc[] valuesToCompare = (Object JavaDoc[])nonIndexedIterator.getColumnValues( TIT);//new int[]{SystemFields.transactionId ,SystemFields.invalidTransactionId } ) ;
29
return ((StaticConditionHelper.compare(condition[0],valuesToCompare[0]) == 0 ) ||
30               (StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0) );
31   }
32
33
34     public void setParameterValues(Object JavaDoc[] values) throws DException {
35         Object JavaDoc transactionId = values[0];
36         condition[0] = transactionId;
37         condition[1] = transactionId;
38     }
39
40     public String JavaDoc toString(){
41         try {
42             return "[ PERSISTENT_CONDITION_WITH_CHILD => transactionId = "+CCzufDpowfsufs.getLong((byte[])condition[0])+" OR " + SystemFields.systemFields[SystemFields.invalidTransactionId] +" = "+((FieldBase)condition[1]).getObject()+" ]";
43         }
44         catch (DException ex) {
45             return null;
46         }
47     }
48 }
49
Popular Tags