1 5 package com.teamkonzept.field; 6 7 import com.teamkonzept.lib.*; 8 import com.teamkonzept.web.*; 9 10 public class TKFieldTableColOrientedIterator implements TKListIterator { 11 12 TKListIterator oldIterator; 13 String outerList; 14 String innerList; 15 TKFieldTableOrientedData dataClass; 16 TKVector fields; 17 int fieldCount; 18 String prefix; 19 int outerIndex; 20 String fieldType; 21 TKBaseField rowField; 22 TKBaseField colField; 23 String listRowForInfo; 24 25 26 public TKFieldTableColOrientedIterator ( 27 TKFieldTableOrientedData dataClass, 28 TKVector fields, 29 TKBaseField rowField, 30 TKBaseField colField, 31 String prefix, 32 TKListIterator oldIterator, 33 String outerList, 34 String innerList, 35 String listRowForInfo, 36 String fieldType 37 38 ) 39 { 40 this.oldIterator = oldIterator; 41 this.fields = fields; 42 this.outerList = outerList; 43 this.innerList = innerList; 44 this.dataClass = dataClass; 45 this.prefix = prefix; 46 this.fieldCount = fields.size(); 47 this.fieldType = fieldType; 48 this.rowField = rowField; 49 this.colField = colField; 50 this.listRowForInfo = listRowForInfo; 51 this.outerIndex = 0; 52 53 } 54 55 56 public boolean apply( TKTemplate t, int i, String currListName ) 57 { 58 59 TKHTMLTemplate template = (TKHTMLTemplate) t; 60 61 TKVector dataVector = (TKVector) dataClass.contentData; 62 63 if( currListName.equalsIgnoreCase(listRowForInfo)) { 65 TKVector colDataVector = dataClass.colData; 66 if( (colDataVector == null) || (i >= colDataVector.size())) return false; 67 colField.fillIntoTemplate( 68 template, 69 colDataVector.elementAt(i), 70 prefix+TKFieldTableRowOriented.PRE_COLS+"."+i+"." 71 ); 72 return true; 73 } 74 75 else if( currListName.equalsIgnoreCase(outerList) ) { 77 if( (dataVector == null) || (i >= fields.size()) ) return false; 78 outerIndex = i; 79 80 81 TKVector rowDataVector = dataClass.rowData; 82 if( (rowDataVector != null) && (rowDataVector.size() > 0) ) { 83 rowField.fillIntoTemplate( 84 template, 85 rowDataVector.elementAt(outerIndex), 86 prefix+TKFieldTableRowOriented.PRE_ROWS+"."+outerIndex+"." 87 ); 88 } 89 90 return true; 91 } 92 else if( currListName.equalsIgnoreCase(innerList) ) { 94 if(dataVector == null) return false; 95 if( i >= dataVector.size() ) return false; 97 t.set("PREFIX_IDX", prefix+i+"."); 98 TKBaseField field = (TKBaseField) fields.get(outerIndex); 99 field.fillIntoTemplate( template, ((TKVector) dataVector.elementAt(i)).elementAt(outerIndex) , prefix+outerIndex+"."+i+"." ); 100 return true; 101 } 102 else if( oldIterator != null ) { 103 return oldIterator.apply( template, i, currListName ); 104 } 105 else { 106 return false; 107 } 108 } 109 110 } 114 | Popular Tags |