KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/field/TKTableRowShowIterator.java,v 1.7 2001/02/11 14:48:15 alex Exp $
3  *
4  */

5 package com.teamkonzept.field;
6
7 import com.teamkonzept.lib.*;
8 import com.teamkonzept.web.*;
9
10 public class TKTableRowShowIterator 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 tableScope;
19     String JavaDoc scope;
20     String JavaDoc fieldTableName;
21     //int outerIndex;
22
String JavaDoc fieldType;
23     TKBaseField rowField;
24     TKBaseField colField;
25     String JavaDoc listRowForInfo;
26     
27         
28     public TKTableRowShowIterator (
29         TKFieldTableOrientedData dataClass,
30         TKVector fields,
31         TKBaseField rowField,
32         TKBaseField colField,
33         String JavaDoc scope,
34         String JavaDoc fieldTableName,
35         TKListIterator oldIterator,
36         String JavaDoc outerList,
37         String JavaDoc innerList,
38         String JavaDoc listRowForInfo
39     )
40     {
41         this.oldIterator = oldIterator;
42         this.fields = fields;
43         this.outerList = outerList;
44         this.innerList = innerList;
45         this.dataClass = dataClass;
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
this.fieldTableName = fieldTableName;
53         this.scope = scope;
54         this.tableScope = scope+"."+fieldTableName;
55         
56     }
57     
58
59     public boolean apply( TKTemplate t, int i, String JavaDoc currListName )
60     {
61     
62         TKHTMLTemplate template = (TKHTMLTemplate) t;
63
64         TKVector dataVector = (TKVector) dataClass.contentData;
65
66         //---- Row mit den Infos ----//
67
if( currListName.equalsIgnoreCase(tableScope+"."+listRowForInfo)) {
68             TKVector colDataVector = dataClass.colData;
69                         
70             if( (colDataVector == null) || (i >= colDataVector.size())) return false;
71             template.set( "SCOPE", tableScope );
72             
73             TKTableShowIterator.enterEntry( template, i, colDataVector.elementAt(i), colField, tableScope+".COLS", "COL" );
74             return true;
75         }
76         //---- aeussere liste ----//
77
if( currListName.equalsIgnoreCase(tableScope+"."+outerList) ) {
78             if( (dataVector == null) || (i >= dataVector.size()) ) return false;
79             template.setEnumerationContext( currListName, new Integer JavaDoc(i) );
80             //outerIndex = i;
81
template.set( "SCOPE", tableScope );
82
83             TKTableShowIterator.enterCounter( template, i, tableScope, "ROW" );
84
85             //---- Zusatz Row ----//
86
TKVector rowDataVector = dataClass.rowData;
87             if( (rowDataVector != null) && (rowDataVector.size() > 0) ) {
88                 
89                 TKTableShowIterator.enterEntry( template, i, rowDataVector.elementAt(i), rowField, tableScope+".ROWS", "ROW" );
90             }
91             return true;
92         }
93         //---- innere liste ----//
94
else if( currListName.equalsIgnoreCase(tableScope+"."+innerList) ) {
95             if(dataVector == null) return false;
96             int outerIndex = ((Integer JavaDoc)template.getEnumerationContext(tableScope+"."+outerList)).intValue();
97             TKVector innerVector = (TKVector) dataVector.get(outerIndex);
98             if( i >= innerVector.size() ) return false;
99             
100             TKBaseField field = (TKBaseField) fields.get(i);
101             Object JavaDoc data = innerVector.get(i);
102
103             TKTableShowIterator.enterEntry( template, i, data, field, tableScope, "COL" );
104
105
106             //---- Zusatz Row ----//
107
TKVector colDataVector = dataClass.colData;
108             if( colDataVector != null) {
109                 TKTableShowIterator.enterEntry( template, i, colDataVector.elementAt(i), colField, tableScope+".COLS", "COL" );
110             }
111
112             return true;
113         }
114         else if( oldIterator != null ) {
115             return oldIterator.apply( template, i, currListName );
116         }
117         else {
118             return false;
119         }
120     }
121
122     //{{DECLARE_CONTROLS
123
//}}
124
}//end class
125

126
Popular Tags