KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.database.resource.*;
4 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
5 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.*;
6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
7 import com.daffodilwoods.database.general.*;
8 /**
9  *
10  * <p>Description: Evaluates the condition for record to be valid for rollback / commit </p>
11  * <p>Company: Daffodil Software Ltd.</p>
12  * @version 2.0
13  */

14 public class CriteriaForRollBackNCommit implements _SessionCondition {
15
16  Object JavaDoc[] condition;
17
18  private static int[] ISS = {SystemFields.invalidSessionId ,SystemFields.sessionId } ;
19
20     public CriteriaForRollBackNCommit(Object JavaDoc presentConditionValues) {
21         condition = new Object JavaDoc[2];
22         Object JavaDoc sessionId = presentConditionValues ;
23         condition[0] = sessionId;
24         condition[1] = sessionId;
25     }
26
27 /**
28  * evaluate the condition given 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( ISS); //new int[]{SystemFields.invalidSessionId ,SystemFields.sessionId } ) ;
35
return (StaticConditionHelper.compare(condition[0], valuesToCompare[0]) == 0
36               || StaticConditionHelper.compare(condition[1],valuesToCompare[1]) == 0);
37     }
38
39
40     /**
41      * refreshes the condition with new sessionId.
42      * @param values
43      * @throws DException
44      */

45     public void setParameterValues(Object JavaDoc[] values) throws DException {
46         Object JavaDoc sessionId = values[0];
47         condition[0] = sessionId;
48         condition[1] = sessionId;
49     }
50
51     public String JavaDoc toString() {
52         try {
53             return "[ ROLLBACK_N_COMMIT_CONDITION => invalidSessionId = "+((FieldBase)condition[0]).getObject()+" or sessionId = "+((FieldBase)condition[1]).getObject()+" ]";
54         }
55         catch (DException ex) {
56             return null;
57         }
58    }
59
60 }
61
Popular Tags