KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.database.general.SystemFields;
5 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
7 import com.daffodilwoods.daffodildb.server.sessionsystem.SystemFieldsCharacteristics;
8
9 /**
10  *
11  * <p>Description: Condition for getting records marked as invalid by current session</p>
12  * <p>Company: Daffodil Software Ltd.</p>
13  * @version 1.0
14  */

15 public class InvalidRecordCondition implements _SessionCondition {
16
17     Object JavaDoc[] condition;
18      private static int[] ITIS = {SystemFields.invalidTransactionId ,SystemFields.invalidSessionId };
19     public InvalidRecordCondition(Object JavaDoc invalidSessionId) {
20         condition = new Object JavaDoc[2];
21         FieldBase bytesForMaxIntegerValue = (FieldBase)SystemFields.maxIntegerValue;
22         condition[0] = bytesForMaxIntegerValue;
23         condition[1] = invalidSessionId ;
24     }
25
26 /**
27  * Evaluates the condition above.
28  * @param values
29  * @return
30  * @throws DException
31  */

32     public boolean evaluate(_Iterator nonIndexedIterator ) throws DException {
33       Object JavaDoc[] valuesToCompare = (Object JavaDoc[])nonIndexedIterator.getColumnValues(ITIS);// new int[]{SystemFields.invalidTransactionId ,SystemFields.invalidSessionId } ) ;
34
return (StaticConditionHelper.compare(condition[0],valuesToCompare[0]) == 0 )
35           && (StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0);
36     }
37
38
39     /**
40      * refreshes the condition with new sessionId.
41      * @param values
42      * @throws DException
43      */

44     public void setParameterValues(Object JavaDoc[] values) throws DException {
45         Object JavaDoc invalidSessionId = values[0] ;
46         condition[1] = invalidSessionId;
47     }
48
49     public String JavaDoc toString(){
50         try {
51             return "[ INVALID_RECORD_CONDITION => invalidTransactionId = MaxIntegerValue and invalidSessionId = "+((FieldBase)condition[1]).getObject()+" ]";
52         }
53         catch (DException ex) {
54             return null;
55         }
56     }
57
58     public boolean evaluateWithValues(Object JavaDoc[] valuesToCompare ) throws DException {
59    return (StaticConditionHelper.compare(condition[0],valuesToCompare[SystemFields.invalidTransactionId]) == 0 )
60        && (StaticConditionHelper.compare(condition[1],valuesToCompare[SystemFields.invalidSessionId]) == 0);
61  }
62
63 }
64
Popular Tags