KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition;
2
3 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
4 import com.daffodilwoods.database.general.SystemFields;
5 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
6 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.StaticConditionHelper;
7 import com.daffodilwoods.database.resource.DException;
8 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition.SessionConditionReferences;
9 import com.daffodilwoods.daffodildb.server.sessionsystem.sessioncondition._SessionCondition;
10
11 public class PersistentForInsertedCondition implements _SessionCondition {
12
13    Object JavaDoc[] condition;
14 private static int[] STIS = {SystemFields.sessionId ,SystemFields.transactionId,SystemFields.invalidSessionId };
15    public PersistentForInsertedCondition(Object JavaDoc presentConditionValues) {
16       condition = new Object JavaDoc[3];
17       condition[0] = presentConditionValues ; //sessionId
18
condition[1] = (FieldBase)SystemFields.maxIntegerValue;
19       condition[2] = (FieldBase)SystemFields.maxIntegerValue;
20    }
21
22  /**
23  * Evaluates the condition given above.
24  * @param values
25  * @return
26  * @throws DException
27  */

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

41
42    public void setParameterValues(Object JavaDoc[] values) throws DException {
43        condition[0] = values[0];
44    }
45
46    public String JavaDoc toString(){
47        return "[ PERSISTENT_INSERTED_CONDITION => sessionId = "+condition[0]+" and transactionId = maxIntegerValue and invalidSessionId = maxIntegerValue ]";
48    }
49
50 }
51
Popular Tags