KickJava   Java API By Example, From Geeks To Geeks.

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


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

5 package com.teamkonzept.field;
6
7 import com.teamkonzept.lib.*;
8 import com.teamkonzept.web.*;
9
10 public class TKFieldTableRowOrientedIterator 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     public TKFieldTableRowOrientedIterator(
26         TKFieldTableOrientedData dataClass,
27         TKVector fields,
28         TKBaseField rowField,
29         TKBaseField colField,
30         String JavaDoc prefix,
31         TKListIterator oldIterator,
32         String JavaDoc outerList,
33         String JavaDoc innerList,
34         String JavaDoc listRowForInfo,
35         String JavaDoc fieldType
36     )
37     {
38         this.oldIterator = oldIterator;
39         this.fields = fields;
40         this.outerList = outerList;
41         this.innerList = innerList;
42         this.dataClass = dataClass;
43         this.prefix = prefix;
44         this.fieldCount = fields.size();
45         this.fieldType = fieldType;
46         this.rowField = rowField;
47         this.colField = colField;
48         this.listRowForInfo = listRowForInfo;
49         this.outerIndex = 0;
50     }
51     
52     public boolean apply( TKTemplate t, int i, String JavaDoc currListName )
53     {
54         TKHTMLTemplate template = (TKHTMLTemplate) t;
55
56         TKVector dataVector = (TKVector) dataClass.contentData;
57
58         //---- Row mit den Infos ----//
59
if( currListName.equalsIgnoreCase(listRowForInfo)) {
60             TKVector colDataVector = dataClass.colData;
61             if( (colDataVector == null) || (i >= colDataVector.size())) return false;
62             colField.fillIntoTemplate(
63                 template,
64                 colDataVector.elementAt(i),
65                 prefix+TKFieldTableOriented.PRE_COLS+"."+i+"."
66             );
67             return true;
68         }
69         //---- aeussere liste ----//
70
else if( currListName.equalsIgnoreCase(outerList) ) {
71             if( (dataVector == null) || (i >= dataVector.size()) ) return false;
72             outerIndex = i;
73             t.set("PREFIX_IDX", prefix+outerIndex+".");
74             TKVector rowDataVector = dataClass.rowData;
75
76             if( (rowDataVector != null) && (rowDataVector.size() > 0) ) {
77                 rowField.fillIntoTemplate(
78                     template,
79                     rowDataVector.elementAt(outerIndex),
80                     prefix+TKFieldTableOriented.PRE_ROWS+"."+outerIndex+"."
81                 );
82             }
83
84             return true;
85
86         }
87         //---- innere liste ----//
88
else if( currListName.equalsIgnoreCase(innerList) ) {
89             if(dataVector == null) return false;
90             TKVector innerVector = (TKVector) dataVector.get(outerIndex);
91             if( i >= innerVector.size() ) return false;
92
93             TKBaseField field = (TKBaseField) fields.get(i);
94             field.fillIntoTemplate( template, innerVector.get(i), prefix+outerIndex+"."+i+"." );
95         
96             return true;
97         }
98         else if( oldIterator != null ) {
99             return oldIterator.apply( template, i, currListName );
100         }
101         else {
102             return false;
103         }
104     }
105     //{{DECLARE_CONTROLS
106
//}}
107
}
108
109
Popular Tags