1 5 package com.teamkonzept.publishing.markups; 6 7 import com.teamkonzept.lib.*; 8 9 public class TKMarkupParam implements TKSortable { 10 11 public String name; 12 13 private String value; 15 16 public TKMarkupParam (String name, String value) { 17 18 this.name = name.toUpperCase(); 19 this.value = value; 20 } 21 22 public TKMarkupParam (TKMarkupParam param) { 23 24 this.name = param.name; 25 this.value = param.value(); 26 } 27 28 public static String paramValue (TKHashtable params, String id) { 29 30 if ((params == null) || (id == null)) return null; 31 32 TKMarkupParam param = (TKMarkupParam) params.get(id.toUpperCase()); 33 return param == null ? null : param.value(); 34 } 35 36 public String wrapUntypedValue () { 37 38 if (value() == null) return null; 39 40 else if (TKMarkupParser.quotingRequired (value())) 41 42 return TKMarkupParser.par2quotes(value()); 43 44 else return value(); 45 } 46 47 public String wrapValue () { 48 49 return wrapUntypedValue(); 50 } 51 52 public String toString() { 53 54 if (value() == null) return name; 55 56 StringBuffer buf = new StringBuffer (); 57 58 buf.append(name).append('=').append(wrapValue()); 59 60 return new String (buf); 61 } 62 63 public String toId() { 64 65 if (value() == null) return name; 66 67 StringBuffer buf = new StringBuffer (); 68 69 buf.append(name).append('=').append(wrapUntypedValue()); 70 71 return new String (buf); 72 } 73 74 public String convert2Tmpl () { 75 76 if (value() == null) return name; 77 78 StringBuffer buf = new StringBuffer (); 79 buf.append(name).append('=').append(TKMarkupParser.par2tmpl(value())); 80 81 return new String (buf); 82 } 83 84 public String convert2Xml () { 85 86 if (value() == null) return name; 87 88 StringBuffer buf = new StringBuffer (); 89 buf.append(name).append('=').append(wrapValue()); 90 91 return new String (buf); 92 } 93 94 public int cmp (TKSortable other) { 95 96 if (!(other instanceof TKMarkupParam)) 97 return toString().compareTo (other.toString()); 98 99 TKMarkupParam otherParam = (TKMarkupParam) other; 100 101 if ((name == null) && (otherParam.name != null)) return -1; 102 else if ((name != null) && (otherParam.name == null)) return 1; 103 else if ((name == null) && (otherParam.name == null)) return 0; 104 else return name.compareTo (otherParam.name); 105 }; 106 107 public String value() { 108 109 if (value == null) return null; 110 if (value.length() == 0) value = null; 111 return value; 112 } 113 114 public void setValue (String newValue) { 115 116 if ((newValue == null) || (newValue.length() == 0)) value = null; 117 else value = newValue; 118 } 119 } 122 123 | Popular Tags |