KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
5 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
6 import com.daffodilwoods.database.general.*;
7 import com.daffodilwoods.daffodildb.server.sessionsystem.SystemFieldsCharacteristics;
8
9 /**
10  *
11  * <p>Description: Condition for getting records of other session in memory for taking lock on them
12  * , used in committed session iterator.
13  * </p>
14  * <p>Company: Daffodil Software Ltd.</p>
15  * @version 1.0
16  */

17 public class ReadCommittedForLock implements _SessionCondition {
18
19     Object JavaDoc[] condition;
20     public ReadCommittedForLock(Object JavaDoc[] presentConditionValues) throws DException{
21         condition = new Object JavaDoc[2];
22         Object JavaDoc sessionIds = presentConditionValues;
23         condition[0] = sessionIds;
24         condition[1] = sessionIds;
25     }
26
27 /**
28  * Evaluaes the condition above.
29  * @param values
30  * @return
31  * @throws DException
32  */

33     public boolean evaluate(_Iterator nonIndexedIterator ) throws DException {
34        Object JavaDoc[] valuesToCompare = (Object JavaDoc[])nonIndexedIterator.getColumnValues( SystemFieldsCharacteristics.SIS );//new int[]{SystemFields.sessionId ,SystemFields.invalidSessionId } ) ;
35
return !(StaticConditionHelper.solveInConditon((Object JavaDoc[])condition[0],(FieldBase)valuesToCompare[0]) ||
36                 StaticConditionHelper.solveInConditon((Object JavaDoc[])condition[1],(FieldBase)valuesToCompare[1]) );
37     }
38
39
40     /**
41      * refreshes the condition.
42      * @param values
43      * @throws DException
44      */

45     public void setParameterValues(Object JavaDoc[] values) throws DException {
46         Object JavaDoc sessionIds = (Object JavaDoc[])values[0];
47         condition[0] = sessionIds;
48         condition[1] = sessionIds;
49     }
50
51     public String JavaDoc toString(){
52             return "[ READ_COMMITTED_FOR_LOCK_CONDITION => ( not ( (sessionId in ("+condition[0]+") or invalidSessionId in ("+condition[1]+") ))) ]";
53     }
54
55 }
56
Popular Tags