blob: a151753acf16d0319763aa1c327863dc9fbdf39a [file] [log] [blame]
package net.sf.taverna.t2.activities.xpath.ui.config.xmltree;
import org.dom4j.Element;
import org.dom4j.Namespace;
/**
*
* @author Sergejs Aleksejevs
*/
public class XPathActivityXMLTreeElementNode extends XPathActivityXMLTreeNode
{
private Element associatedElement;
public XPathActivityXMLTreeElementNode(Element associatedElement) {
super(associatedElement, false);
this.associatedElement = associatedElement;
}
public Element getAssociatedElement() {
return associatedElement;
}
public String getTreeNodeDisplayLabel(boolean bIncludeValue, boolean bIncludeNamespace, boolean bUseStyling)
{
StringBuilder label = new StringBuilder();
// add qualified element name
label.append(this.associatedElement.getQualifiedName());
// add element namespace
if (bIncludeNamespace)
{
Namespace ns = this.associatedElement.getNamespace();
label.append((bUseStyling ? "<font color=\"gray\">" : "") +
" - xmlns" + (ns.getPrefix().length() > 0 ? (":" + ns.getPrefix()) : "") + "=\"" +
this.associatedElement.getNamespaceURI() +
(bUseStyling ? "\"</font>" : ""));
}
// add element value
if (bIncludeValue)
{
String elementTextValue = this.associatedElement.getTextTrim();
if (elementTextValue != null && elementTextValue.length() > 0) {
label.append((bUseStyling ? "<font color=\"gray\"> - </font><font color=\"blue\">" : "") +
truncateElementTextValue(stripAllHTML(elementTextValue)) +
(bUseStyling ? "</font>" : ""));
}
}
if (bUseStyling) {
label.insert(0, "<html>");
label.append("</html>");
}
return (label.toString());
}
}