KickJava   Java API By Example, From Geeks To Geeks.

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


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.database.general.SystemFields;
6 import com.daffodilwoods.daffodildb.utils.field.FieldBase;
7 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
8 import com.daffodilwoods.daffodildb.server.sessionsystem.SystemFieldsCharacteristics;
9
10 /**
11  *
12  * <p>Description: Evaluates the condition for records which are inserted and then deleted without commiting </p>
13  * <p>Company: Daffodil Sogftware Ltd. </p>
14  * @version 2.0
15  */

16 public class InsertDeletedCondition implements _SessionCondition {
17
18     Object JavaDoc[] condition;
19
20     public InsertDeletedCondition(Object JavaDoc presentConditionValues) {
21         condition = new Object JavaDoc[3];
22         Object JavaDoc sessionId = presentConditionValues ; //sessionId
23
condition[0] = sessionId;
24         condition[1] = sessionId;
25         condition[2] = (FieldBase)SystemFields.maxIntegerValue;
26     }
27
28 /**
29  * Evaluates the above condition given above
30  * @param values
31  * @return
32  * @throws DException
33  */

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

46     public void setParameterValues(Object JavaDoc[] values) throws DException {
47         Object JavaDoc sessionId = values[0] ;
48         condition[0] = sessionId;
49         condition[1] = sessionId;
50     }
51
52     public String JavaDoc toString(){
53         try {
54             return "[ INSERT_DELETED_CONDITION => Sessionid = "+ CCzufDpowfsufs.getLong((byte[])condition[0]) +" and "+
55                    " InvalidSessionId = "+ ((FieldBase)condition[1]).getObject() +" and TransactionId = MaxIntegerValue ]";
56         }
57         catch (DException ex) {
58             return null;
59         }
60     }
61 }
62
Popular Tags