KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > generator > ContentCallsIterator


1 package de.webman.generator;
2
3 import com.teamkonzept.lib.*;
4 import java.util.*;
5
6 /**
7     * @author $Author: alex $
8     * @version $Revision: 1.1 $
9 */

10 public class ContentCallsIterator implements TKListIterator
11 {
12
13     private TKListIterator oldIterator;
14     private String JavaDoc listName;
15     private TKVector list;
16     private Enumeration loop;
17     
18     public ContentCallsIterator( TKVector list, TKListIterator oldIterator, String JavaDoc listName)
19     {
20         this.oldIterator = oldIterator;
21         this.listName = listName;
22         this.list = list;
23         this.loop = list.elements();
24     }
25
26     public boolean apply( TKTemplate template, int i, String JavaDoc currListName )
27     {
28         if( currListName.equalsIgnoreCase( listName ) )
29         {
30             ContentCall cc = null;
31             while ((cc == null) && loop.hasMoreElements())
32                 cc = (ContentCall) loop.nextElement();
33
34             if (cc == null) { loop = list.elements(); return false; }
35
36             SiteDocument sd = cc.getDocument();
37             if (sd == null) { loop = list.elements(); return false; }
38                     
39             SiteNode sn = sd.getAnchor();
40             if (sn == null) { loop = list.elements(); return false; }
41                     
42             String JavaDoc info = cc.getInfo();
43                     
44             try
45             {
46                 template.set( "INFO", info != null ? info : "" );
47                 template.set( "DOC_TEMPL", sd.getTemplateName() );
48                 template.set( "SITE_NODE_ID", new Integer JavaDoc(sn.getId()) );
49                 template.set( "PRIMARY_ID", new Integer JavaDoc(cc.getPrimaryId()) );
50                 template.set( "DOC_NAME", sd.getName() );
51                 template.set( "DOC_ID", sd.getShortName() );
52                 template.set( "DOC_PATH", cc.docName() );
53             }
54             catch ( Throwable JavaDoc th )
55             {
56                 throw new Error JavaDoc( th.getMessage() );
57             }
58             return true;
59         }
60         else if( oldIterator != null )
61         {
62             return oldIterator.apply( template, i, currListName );
63         }
64         else {
65             return false;
66         }
67     }
68 }
69
Popular Tags