1 package com.teamkonzept.lib.templates; 2 3 import java.util.*; 4 5 import com.teamkonzept.lib.*; 6 7 11 public abstract class TKValueTag extends TKLabelTag { 12 String value = null; 13 String name = null; 14 15 23 public TKValueTag( TKTemplateSyntax parent, String def, boolean hasSubTags ) throws TKTemplateSyntaxException 24 { 25 super( parent, def, hasSubTags ); 26 if( !hasSubTags ) { 27 value = getValue( null ); 28 name = getName( null ); 29 } 30 } 31 32 36 public String getValue( TKTemplateData td ) throws TKTemplateSyntaxException 37 { 38 if( value != null ) return value; 39 String wert = getRealLabel( td ); 40 int index = wert.indexOf('='); 41 return ((index != -1 && (index + 1) < wert.length()) ? wert.substring(index + 1, wert.length()) : ""); 42 } 43 44 48 public String getName( TKTemplateData td ) throws TKTemplateSyntaxException 49 { 50 if( name != null ) return name; 51 StringTokenizer st = new StringTokenizer( getLabel( td ), "=" ); 52 return st.nextToken(); 53 } 54 55 58 public boolean matches( TKTemplateData td ) throws TKTemplateSyntaxException 59 { 60 Object val = td.getVariable( getName( td ) ); 61 if( val == null ) return false; 62 63 String tagVal = getValue( td ); 64 65 boolean matches = false; 66 if( val instanceof TKVector ) { 67 Enumeration e = ((TKVector)val).elements(); 68 while( !matches && e.hasMoreElements() ) { 69 matches = e.nextElement().toString().equalsIgnoreCase( tagVal ); 70 } 71 } 72 else { 73 matches = val.toString().equalsIgnoreCase( tagVal ); 74 } 75 return matches; 76 } 77 } 78 79 | Popular Tags |