1 23 package org.hammurapi.inspectors.techstack; 24 25 import java.util.Collection ; 26 import java.util.Iterator ; 27 import java.util.TreeSet ; 28 29 import javax.xml.transform.TransformerException ; 30 31 import org.apache.xpath.CachedXPathAPI; 32 import org.w3c.dom.Element ; 33 34 import com.pavelvlasov.xml.dom.AbstractDomObject; 35 import com.pavelvlasov.xml.dom.DomSerializable; 36 37 41 public class BasicDescriptor extends AbstractDomObject implements DomSerializable { 42 private String key=getClass().getName()+":"+Long.toString(counter++, Character.MAX_RADIX);; 43 private String name; 44 private String description; 45 private String url; 46 private String category; 47 private static long counter=System.currentTimeMillis(); 48 49 public BasicDescriptor() { 50 } 51 52 public BasicDescriptor(Element holder, CachedXPathAPI cxpa) throws TransformerException { 53 if (holder.hasAttribute("key")) { 54 key=holder.getAttribute("key"); 55 } 56 name=getElementText(holder, "name", cxpa); 57 description=getElementText(holder, "description", cxpa); 58 url=getElementText(holder, "url", cxpa); 59 this.category=getElementText(holder, "category", cxpa); 60 } 61 62 public String getDescription() { 63 return description; 64 } 65 public void setDescription(String description) { 66 this.description = description; 67 } 68 public String getKey() { 69 return key; 70 } 71 public void setKey(String key) { 72 this.key = key; 73 } 74 public String getName() { 75 return name; 76 } 77 public void setName(String name) { 78 this.name = name; 79 } 80 public String getUrl() { 81 return url; 82 } 83 public void setUrl(String url) { 84 this.url = url; 85 } 86 87 public void toDom(Element holder) { 88 if (key!=null) { 89 holder.setAttribute("key", key); 90 } 91 92 addTextElement(holder, "name", name); 93 addTextElement(holder, "description", description); 94 addTextElement(holder, "url", url); 95 addTextElement(holder, "category", category); 96 97 Iterator it=clients.iterator(); 98 while (it.hasNext()) { 99 addTextElement(holder, "client", it.next().toString()); 100 } 101 } 102 103 private Collection clients = new TreeSet (); 104 105 108 public void addClient(String client) { 109 clients.add(client); 110 } 111 public String getCategory() { 112 return category; 113 } 114 public void setCategory(String category) { 115 this.category = category; 116 } 117 } 118 | Popular Tags |