1 package com.teamkonzept.lib.templates; 2 3 import com.teamkonzept.lib.*; 5 import org.w3c.dom.*; 6 import de.webman.util.legacy.Legacy; 7 8 14 public class TKTemplateData 15 { 16 17 18 private DOMTemplateData domData; 19 20 21 public TKTemplateData parent = null; 22 23 24 private TKHashtable variables = new TKHashtable(); 25 26 27 private TKTemplateData lookup = null; 28 29 30 private TKListIterator listIterator = null; 31 32 33 public TKHashtable enumerationContext = new TKHashtable(); 34 35 36 39 public TKTemplateData () 40 { 41 } 43 44 49 public TKTemplateData (TKTemplateData td) 50 { 51 if (td == null) 52 { 53 return; 54 } 55 56 this.listIterator = td.listIterator; 57 this.parent = td; 58 59 merge(td); 60 } 61 62 63 public DOMTemplateData getDOMData() 64 { 65 66 try 67 { 68 if (domData == null) 69 domData = new DOMTemplateData(); 70 return domData; 71 } 72 catch (Exception e) 73 { 74 return null; 75 } 76 } 77 78 83 public void prepareApply() 84 { 85 } 86 87 public TKListIterator getListIterator() 88 { 89 return listIterator; 91 94 } 95 96 public void setListIterator(TKListIterator iterator) 97 { 98 listIterator = iterator; 99 } 100 101 107 public void setMergedApply( TKTemplateData td ) 108 { 109 lookup = td; 110 111 variables = (( variables == null || variables.size() == 0 ) 112 ? td.variables 113 : TKHashtable.merge( variables, td.variables ) 114 ); 115 } 116 117 124 public void merge ( TKTemplateData td ) 125 { 126 if (variables == null) variables = new TKHashtable(); 127 128 if ((td != null) && (td.variables != null)) 129 variables.merge (td.variables); 130 } 131 132 public void setVariable( Object key, Object value ) 133 { 134 if( (parent == null) || (parent.variables != variables) ) { 135 variables.put( key, value ); 136 } 137 if( parent != null ) { 138 parent.setVariable( key, value ); 139 } 140 } 141 142 public void mergeVariables(TKHashtable merger) 143 { 144 variables.merge(merger); 145 } 146 147 public void concatVariables(TKHashtable merger) 148 { 149 variables.concat(merger); 150 } 151 152 public void removeVariable(String key) 153 { 154 variables.remove(key); 155 } 156 157 public Object getVariable(Object key) 158 { 159 Object back = variables.get(key); 160 if (back == null && lookup != null) 161 back = lookup.getVariable(key); 162 return back; 165 } 166 167 public void setLocalVariable( Object key, Object value ) 168 { 169 variables.put( key, value ); 170 } 171 172 public void extendVariable( String key, Object value ) 173 { 174 variables.extend( key, value ); 175 } 176 177 178 186 187 public void setEnumerationContext( Object key, Object value ) 188 { 189 enumerationContext.put( key, value ); 190 } 191 192 195 196 public Object getEnumerationContext(Object key ) 197 { 198 Object result; 199 return ((result = enumerationContext.get( key )) == null) 200 ? ( parent == null ? null : parent.getEnumerationContext( key ) ) 201 : result; 202 } 203 204 } 205 206 | Popular Tags |