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 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 item, TKTemplate template, String 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 (param.isOptional)); 39 template.set( "USE_DEFAULT", new Boolean (param.useDefault)); 40 template.set( "EDITABLE", new Boolean (param.editable)); 41 template.set( "PARAM_INDEX", new Integer (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 (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 currListName, String 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 } 77 | Popular Tags |