1 package com.daffodilwoods.daffodildb.server.sessionsystem; 2 3 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator; 4 import com.daffodilwoods.database.resource.DException; 5 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference; 6 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession; 7 import com.daffodilwoods.daffodildb.utils.field.FieldBase; 8 import com.daffodilwoods.daffodildb.server.sql99.utils._VariableValues; 9 import com.daffodilwoods.daffodildb.server.datasystem.utility._Record; 10 import java.lang.ref.WeakReference ; 11 12 public class RecordVariableValues implements _VariableValues { 13 14 WeakReference serverSession; 15 _Reference[] references; 16 Object [] values; 17 _Record record; 18 19 public RecordVariableValues(WeakReference serverSession0, _Record record0, _Reference[] refs0, Object [] values0) { 20 serverSession = serverSession0; 21 references = refs0; 22 values = values0; 23 record = record0; 24 } 25 26 public Object getColumnValues(_Reference[] referenceArray) throws DException { 27 Object [] retValues = new Object [referenceArray.length]; 28 for (int i = 0; i < referenceArray.length; i++) { 29 retValues[i] = getColumnValues(referenceArray[i] ); 30 } 31 return retValues; 32 } 33 34 private Object setReferenceValue(_Reference reference) { 35 if(references != null) 36 for (int i = 0; i < references.length; i++) { 37 if(references[i] == reference) 38 return values[i]; 39 } 40 return null; 41 } 42 43 public void setIterator(_Iterator _Iterator){ 44 throw new UnsupportedOperationException (); 45 } 46 47 public void setConditionVariableValue(_Reference[] references , Object [] values, int priority) throws DException{ 48 throw new UnsupportedOperationException (); 49 } 50 51 public Object getColumnValues(_Reference reference) throws DException { 52 Object val = setReferenceValue(reference); 53 if(val != null) 54 return val; 55 try { 56 return record.getObject( null, reference.getIndex() ); 57 }catch (DException ex) { 58 return record.getObject( null, reference.getColumn()); 59 } 60 } 61 62 public void addReferences(_Reference[] reference) throws DException { 63 64 throw new java.lang.UnsupportedOperationException ("Method addReferences() not yet implemented."); 65 } 66 67 public Object [][] getReferenceAndValuePair() throws DException { 68 throw new java.lang.UnsupportedOperationException ("Method getReferences() not yet implemented."); 69 } 70 public _ServerSession getServerSession() throws DException { 71 return (_ServerSession) serverSession.get(); 72 } 73 public void releaseResource() throws DException { 74 75 throw new java.lang.UnsupportedOperationException ("Method releaseResource() not yet implemented."); 76 } 77 public FieldBase field(_Reference reference) throws DException { 78 return (FieldBase) getColumnValues(reference); 79 } 80 81 public boolean checkReferences(_Reference[] refs) { 82 for (int i = 0; i < refs.length; i++) { 83 if(!refs[i].equals(references[i])) 84 return false; 85 } 86 return true; 87 } 88 } 89 | Popular Tags |