KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > serversystem > dmlvalidation > triggersystem > TriggerVariableValues


1 package com.daffodilwoods.daffodildb.server.serversystem.dmlvalidation.triggersystem;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.utility.*;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
5 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
6 import com.daffodilwoods.daffodildb.utils.field.*;
7 import com.daffodilwoods.database.resource.*;
8 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
9 public class TriggerVariableValues extends AbstractVariableValues implements _VariableValues {
10
11   String JavaDoc oldAlias;
12   String JavaDoc newAlias;
13   RecordVersion recordVersion;
14   _ServerSession serverSession;
15
16   public TriggerVariableValues( RecordVersion recVersion ,String JavaDoc oAlias , String JavaDoc nAlias,_ServerSession serverSession0 )throws DException {
17     recordVersion = recVersion;
18     oldAlias = oAlias;
19     newAlias = nAlias;
20     serverSession =serverSession0;
21   }
22
23   public Object JavaDoc getColumnValues(_Reference[] ref) throws DException {
24     Object JavaDoc[] val = null;
25     if( ref != null ){
26       int len = ref.length;
27       val = new Object JavaDoc[len];
28       for( int i=0; i<len; i++ )
29         val[i] = getColumnValues( ref[i] );
30     }
31     return val;
32   }
33
34   public Object JavaDoc getColumnValues(_Reference ref) throws DException {
35     Object JavaDoc val = null;
36     if(ref!=null){
37       String JavaDoc tableName = null;
38       try{
39         tableName = ref.getTriggerTableAlias();
40       } catch(IndexOutOfBoundsException JavaDoc de ) {
41         throw new DException("DSE1303",new Object JavaDoc[]{ref.getColumn(), tableName} );
42       }
43
44       if(tableName== null || tableName.equalsIgnoreCase("new")|| tableName.equalsIgnoreCase(newAlias))
45         val = recordVersion.getCurrentRecord().getObject( ref.getColumn() );
46       else if(tableName.equalsIgnoreCase("old")|| tableName.equalsIgnoreCase(oldAlias))
47         val = recordVersion.getPreviousRecord().getObject( ref.getColumn() );
48     }
49     return val;
50   }
51
52   public FieldBase field(_Reference ref) throws DException {
53     Object JavaDoc val = null;
54     if(ref!=null){
55       String JavaDoc tableName = null;
56       try{
57         tableName = ref.getTriggerTableAlias();
58       } catch(IndexOutOfBoundsException JavaDoc de ) {
59         val = recordVersion.getCurrentRecord().getObject( ref.getColumn() );
60       }
61
62       if(tableName== null || tableName.equalsIgnoreCase("new")|| tableName.equalsIgnoreCase(newAlias))
63         val = recordVersion.getCurrentRecord().getObject( ref.getColumn() );
64       else if(tableName.equalsIgnoreCase("old")|| tableName.equalsIgnoreCase(oldAlias))
65         val = recordVersion.getPreviousRecord().getObject( ref.getColumn() );
66     }
67     return (FieldBase)val;
68   }
69
70
71   public void setIterator(_Iterator p0) throws DException {
72   }
73
74   public void setConditionVariableValue(_Reference[] p0, Object JavaDoc[] p1, int p2) throws DException {
75   }
76
77   public _ServerSession getServerSession() throws DException {
78     return serverSession;
79   }
80
81 }
82
Popular Tags