1 5 package com.teamkonzept.webman.attr; 6 7 import com.teamkonzept.lib.*; 8 import com.teamkonzept.publishing.markups.*; 9 10 public class TKWMAttrMarkup extends TKDefinedMarkup { 11 12 public TKMarkupParam idPar; 13 14 public TKWMAttrMarkup (String name, TKHashtable params, int pos) 15 throws Exception { 16 super (name,params,pos); 17 idPar = null; 18 } 19 20 public static TKMarkupParam idPar 21 (String name, TKMarkupDefinition definition, TKHashtable params) { 22 23 if (params == null) return null; 24 else if (definition == null) definition = TKMarkupDefinition.lookup (name); 25 26 if ((definition == null) || (definition.idPar == null)) return null; 27 28 return (TKMarkupParam) params.get (definition.idPar.name); 29 } 30 31 public static String toId (String name, TKMarkupParam idPar) { 32 33 String value = idPar == null ? null : idPar.value(); 34 if ((value == null) || (value.equalsIgnoreCase(name))) return name; 35 36 StringBuffer id = new StringBuffer (); 37 id.append(name).append (' ').append(idPar.toId()); 38 39 return new String (id); 40 } 41 42 public static String toId (String name, TKMarkupDefinition definition, TKHashtable params) { 43 44 return toId (name,idPar(name,definition,params)); 45 } 46 47 public String toId () { 48 49 TKMarkupParam idPar = idPar(name,definition,params); 50 51 if (idPar == null) return super.toId(); 52 else return toId (name,idPar); 53 } 54 55 public void complete () throws Exception { 56 57 try { 58 super.complete(); 59 idPar = idPar (name,definition,params); 60 61 } catch (Exception ex) { 62 63 idPar = idPar (name,definition,params); 64 TKMarkupParserException.throwAgain(ex); 65 } 66 } 67 } | Popular Tags |