KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > field > TKFieldTableColOrientedIterator


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/field/TKFieldTableColOrientedIterator.java,v 1.6 2000/06/01 15:02:53 alex Exp $
3  *
4  */

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 JavaDoc outerList;
14     String JavaDoc innerList;
15     TKFieldTableOrientedData dataClass;
16     TKVector fields;
17     int fieldCount;
18     String JavaDoc prefix;
19     int outerIndex;
20     String JavaDoc fieldType;
21     TKBaseField rowField;
22     TKBaseField colField;
23     String JavaDoc listRowForInfo;
24     
25         
26     public TKFieldTableColOrientedIterator (
27         TKFieldTableOrientedData dataClass,
28         TKVector fields,
29         TKBaseField rowField,
30         TKBaseField colField,
31         String JavaDoc prefix,
32         TKListIterator oldIterator,
33         String JavaDoc outerList,
34         String JavaDoc innerList,
35         String JavaDoc listRowForInfo,
36         String JavaDoc 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 JavaDoc currListName )
57     {
58     
59         TKHTMLTemplate template = (TKHTMLTemplate) t;
60
61         TKVector dataVector = (TKVector) dataClass.contentData;
62
63         //---- Row mit den Infos ----//
64
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         //---- aeussere liste ----//
76
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         //---- innere liste ----//
93
else if( currListName.equalsIgnoreCase(innerList) ) {
94             if(dataVector == null) return false;
95             //TKVector innerVector = (TKVector) dataVector.get(outerIndex);
96
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     //{{DECLARE_CONTROLS
111
//}}
112
}//end class
113

114
Popular Tags