1 5 36 package com.teamkonzept.field; 37 38 import com.teamkonzept.lib.*; 39 import com.teamkonzept.web.*; 40 41 public class TKFieldTableIterator implements TKListIterator { 42 43 TKListIterator oldIterator; 44 String listOuterName; 45 String listInnerName; 46 String listRowForInfo; 47 TKFieldTableRealData dataClass; TKBaseField contentField; 49 TKBaseField rowField; 50 TKBaseField colField; 51 String prefix; 52 int outerIndex; 53 String merkePrefix; 54 55 56 TKFieldTable fieldTableObject; 57 58 public TKFieldTableIterator( 59 TKFieldTableRealData dataClass, 60 TKBaseField contentField, 61 TKBaseField rowField, 62 TKBaseField colField, 63 String prefix, 64 TKListIterator oldIterator, 65 String listOuterName, 66 String listInnerName, 67 String listRowForInfo 68 69 ) 70 { 71 this.oldIterator = oldIterator; 72 this.contentField = contentField; 73 this.rowField = rowField; 74 this.colField = colField; 75 this.listOuterName = listOuterName; 76 this.listInnerName = listInnerName; 77 this.listRowForInfo = listRowForInfo; 78 this.dataClass = dataClass; 79 this.prefix = prefix; 80 this.outerIndex = 0; 81 } 82 83 84 public boolean apply( TKTemplate t, int i, String currListName ) 85 { 86 87 TKHTMLTemplate template = (TKHTMLTemplate) t; 88 89 TKVector dataVector = (TKVector) dataClass.contentData; 90 91 if( currListName.equalsIgnoreCase(listRowForInfo)) { 93 TKVector colDataVector = dataClass.colData; 94 if( (colDataVector == null) || (i >= colDataVector.size())) return false; 95 colField.fillIntoTemplate( 96 template, 97 colDataVector.elementAt(i), 98 prefix+TKFieldTable.PRE_COLS+"."+i+"." 99 ); 100 return true; 101 } 102 else if( currListName.equalsIgnoreCase( listOuterName ) ) { 104 if( (dataVector == null) || (i >= dataVector.size()) ) return false; 105 outerIndex = i; 106 107 String prefixHelp = prefix+TKFieldTable.MODIFY_ROW+"."+outerIndex+"."; 108 t.set("PREFIX_ROW", prefixHelp); 109 110 TKVector rowDataVector = dataClass.rowData; 111 if( (rowDataVector != null) && (rowDataVector.size() > 0) ) { 112 rowField.fillIntoTemplate( 113 template, 114 rowDataVector.elementAt(outerIndex), 115 prefix+TKFieldTable.PRE_ROWS+"."+outerIndex+"." 116 ); 117 } 118 return true; 119 120 } 121 else if( currListName.equalsIgnoreCase( listInnerName ) ) { 123 if(dataVector == null) return false; 124 125 TKVector dataRow = (TKVector)dataVector.get(outerIndex); 126 if( i >= dataRow.size() ) return false; 127 128 contentField.fillIntoTemplate( template, dataRow.get(i), prefix+outerIndex+"."+i+"."); 129 return true; 130 } 131 else if( oldIterator != null ) { 132 return oldIterator.apply( template, i, currListName ); 133 } 134 else { 135 return false; 136 } 137 } 138 }
| Popular Tags
|