1 37 package org.webharvest.definition; 38 39 import java.util.*; 40 41 public class BaseElementDef implements IElementDef { 42 43 List operationDefs = new ArrayList(); 45 46 String body; 48 49 String id; 51 52 protected BaseElementDef() { 53 } 54 55 protected BaseElementDef(XmlNode node) { 56 this(node, true); 57 } 58 59 protected BaseElementDef(XmlNode node, boolean createBodyDefs) { 60 if (node != null) { 61 this.id = (String ) node.get("id"); 62 63 List elementList = node.getElementList(); 64 65 if (createBodyDefs) { 66 if (elementList != null && elementList.size() > 0) { 67 Iterator it = elementList.iterator(); 68 while (it.hasNext()) { 69 Object element = it.next(); 70 if (element instanceof XmlNode) { 71 XmlNode currElementNode = (XmlNode) element; 72 IElementDef def = DefinitionResolver.createElementDefinition(currElementNode); 73 if (def != null) { 74 operationDefs.add(def); 75 } 76 } else { 77 operationDefs.add( new ConstantDef(element.toString()) ); 78 } 79 } 80 } else { 81 body = node.getText(); 82 } 83 } 84 } 85 } 86 87 public boolean hasOperations() { 88 return operationDefs != null && operationDefs.size() > 0; 89 } 90 91 public IElementDef[] getOperationDefs() { 92 IElementDef[] defs = new IElementDef[operationDefs.size()]; 93 Iterator it = operationDefs.iterator(); 94 int index = 0; 95 while (it.hasNext()) { 96 defs[index++] = (IElementDef) it.next(); 97 } 98 99 return defs; 100 } 101 102 public String getBodyText() { 103 return body; 104 } 105 106 public String getId() { 107 return id; 108 } 109 110 } | Popular Tags |