KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > attr > TKWMMarkupDefinitionParamsIterator


1 package com.teamkonzept.webman.attr;
2
3 import com.teamkonzept.lib.*;
4 import com.teamkonzept.publishing.markups.*;
5
6 public class TKWMMarkupDefinitionParamsIterator extends TKIteratorPlugin {
7
8     int param_index;
9
10     TKStringIteratorPlugin options;
11     TKWMAttrMarkupParamDefinitionsIterator definitions;
12
13     public TKWMMarkupDefinitionParamsIterator (String JavaDoc listName, TKMarkupDefinition definition) {
14
15         super (definition.allParams(),listName,true);
16     }
17     
18     public void init () {
19
20         param_index = -1;
21         options = null;
22         
23         definitions = new TKWMAttrMarkupParamDefinitionsIterator
24             (TKMarkupParamDefinition.allParams(),"DEFINITION_OPTIONS",false);
25     }
26     
27     public boolean applyThis (Object JavaDoc item, TKTemplate template, String JavaDoc path) {
28     
29         TKMarkupParamCall param = (TKMarkupParamCall) item;
30
31         param_index++;
32
33         if (param.name != null) template.set( "PARAM_NAME", param.name);
34
35         if (param.defaultValue() != null) template.set( "DEFAULT_VALUE", param.defaultValue());
36         else template.set( "DEFAULT_VALUE", "");
37
38         template.set( "IS_OPTIONAL", new Boolean JavaDoc (param.isOptional));
39         template.set( "USE_DEFAULT", new Boolean JavaDoc (param.useDefault));
40         template.set( "EDITABLE", new Boolean JavaDoc (param.editable));
41         template.set( "PARAM_INDEX", new Integer JavaDoc(param_index));
42
43         if ((param.param == null) || (param.param.name == null)) return true;
44         
45         if (param.param.isFlag()) template.set( "DEFAULT_TYPE", "CHECK" );
46         else if ((param.param.optionList != null) && (param.param.optionList.size() != 0))
47             template.set ("DEFAULT_TYPE", "OPTION" );
48         else template.set( "DEFAULT_TYPE", "TEXT" );
49         
50         if (param.param.isFlag()) options = null;
51         else if ((param.param.optionList != null) && (param.param.optionList.size() != 0))
52             options = new TKStringIteratorPlugin ("VALUE_OPTIONS","VALUE_OPTION",param.param.optionList,true,"");
53         else options = null;
54
55         template.set( "DEFINITION_NAME", param.param.name);
56         template.set( "DEFINITION_TYPE", param.param.typeClass.name);
57         
58         if (param.param.isCaseSensitive)
59             template.set( "DEFINITION_IS_CASE_SENSITIVE", new Boolean JavaDoc(param.param.isCaseSensitive));
60             
61         if (param.param.defaultValue() != null)
62             template.set( "DEFINITION_DEFAULT_VALUE", param.param.defaultValue());
63             
64         return true;
65     }
66
67     public boolean applyChilds (TKTemplate template, int i, String JavaDoc currListName, String JavaDoc path) {
68
69         if ((options != null) && options.apply (template,i,currListName,null)) return true;
70         else if ((definitions != null) && definitions.apply (template,i,currListName,null)) return true;
71         else return false;
72     }
73
74     //{{DECLARE_CONTROLS
75
//}}
76
}
77
Popular Tags