/** * $Id: mxGraphMlShapeEdge.java,v 1.1 2012/11/15 13:26:45 gaudenz Exp $ * Copyright (c) 2010 David Benson, Gaudenz Alder */ package com.mxgraph.io.graphml; import org.w3c.dom.Document; import org.w3c.dom.Element; /** * This class represents the properties of a JGraph edge. */ public class mxGraphMlShapeEdge { private String text = ""; private String style = ""; private String edgeSource; private String edgeTarget; /** * Construct a Shape Edge with text and style. * @param text * @param style */ public mxGraphMlShapeEdge(String text, String style) { this.text = text; this.style = style; } /** * Constructs a ShapeEdge from a xml shapeEdgeElement. * @param shapeEdgeElement */ public mxGraphMlShapeEdge(Element shapeEdgeElement) { Element labelElement = mxGraphMlUtils.childsTag(shapeEdgeElement, mxGraphMlConstants.JGRAPH + mxGraphMlConstants.LABEL); if (labelElement != null) { this.text = labelElement.getAttribute(mxGraphMlConstants.TEXT); } Element styleElement = mxGraphMlUtils.childsTag(shapeEdgeElement, mxGraphMlConstants.JGRAPH + mxGraphMlConstants.STYLE); if (styleElement != null) { this.style = styleElement.getAttribute(mxGraphMlConstants.PROPERTIES); } } /** * Construct an empty Shape Edge Element. */ public mxGraphMlShapeEdge() { } /** * Generates a ShapeEdge Element from this class. * @param document Document where the key Element will be inserted. * @return Returns the generated Elements. */ public Element generateElement(Document document) { Element dataEdge = document.createElementNS(mxGraphMlConstants.JGRAPH_URL, mxGraphMlConstants.JGRAPH + mxGraphMlConstants.SHAPEEDGE); if (!this.text.equals("")) { Element dataEdgeLabel = document.createElementNS( mxGraphMlConstants.JGRAPH_URL, mxGraphMlConstants.JGRAPH + mxGraphMlConstants.LABEL); dataEdgeLabel.setAttribute(mxGraphMlConstants.TEXT, this.text); dataEdge.appendChild(dataEdgeLabel); } if (!this.style.equals("")) { Element dataEdgeStyle = document.createElementNS( mxGraphMlConstants.JGRAPH_URL, mxGraphMlConstants.JGRAPH + mxGraphMlConstants.STYLE); dataEdgeStyle.setAttribute(mxGraphMlConstants.PROPERTIES, this.style); dataEdge.appendChild(dataEdgeStyle); } return dataEdge; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } public String getEdgeSource() { return edgeSource; } public void setEdgeSource(String edgeSource) { this.edgeSource = edgeSource; } public String getEdgeTarget() { return edgeTarget; } public void setEdgeTarget(String edgeTarget) { this.edgeTarget = edgeTarget; } }