package com.mxgraph.io; import com.mxgraph.model.mxCell; import java.util.Iterator; import java.util.Map; import java.util.Set; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class mxCellCodec extends mxObjectCodec { public mxCellCodec() { this(new mxCell(), null, new String[] { "parent", "source", "target" }, null); } public mxCellCodec(Object paramObject) { this(paramObject, null, null, null); } public mxCellCodec(Object paramObject, String[] paramArrayOfString1, String[] paramArrayOfString2, Map paramMap) { super(paramObject, paramArrayOfString1, paramArrayOfString2, paramMap); } public boolean isExcluded(Object paramObject1, String paramString, Object paramObject2, boolean paramBoolean) { return ((this.exclude.contains(paramString)) || ((paramBoolean) && (paramString.equals("value")) && (paramObject2 instanceof Node) && (((Node)paramObject2).getNodeType() == 1))); } public Node afterEncode(mxCodec parammxCodec, Object paramObject, Node paramNode) { if (paramObject instanceof mxCell) { mxCell localmxCell = (mxCell)paramObject; if (localmxCell.getValue() instanceof Node) { Element localElement = (Element)paramNode; paramNode = parammxCodec.getDocument().importNode((Node)localmxCell.getValue(), true); paramNode.appendChild(localElement); String str = localElement.getAttribute("id"); ((Element)paramNode).setAttribute("id", str); localElement.removeAttribute("id"); } } return paramNode; } public Node beforeDecode(mxCodec parammxCodec, Node paramNode, Object paramObject) { Element localElement = (Element)paramNode; if (paramObject instanceof mxCell) { mxCell localmxCell = (mxCell)paramObject; String str = getName(); Object localObject1; Object localObject2; Object localObject3; if (!(paramNode.getNodeName().equals(str))) { localObject1 = localElement.getElementsByTagName(str).item(0); if ((localObject1 != null) && (((Node)localObject1).getParentNode() == paramNode)) { localElement = (Element)localObject1; for (localObject2 = ((Node)localObject1).getPreviousSibling(); (localObject2 != null) && (((Node)localObject2).getNodeType() == 3); localObject2 = localObject3) { localObject3 = ((Node)localObject2).getPreviousSibling(); if (((Node)localObject2).getTextContent().trim().length() != 0) continue; ((Node)localObject2).getParentNode().removeChild((Node)localObject2); } for (localObject2 = ((Node)localObject1).getNextSibling(); (localObject2 != null) && (((Node)localObject2).getNodeType() == 3); localObject2 = localObject3) { localObject3 = ((Node)localObject2).getPreviousSibling(); if (((Node)localObject2).getTextContent().trim().length() != 0) continue; ((Node)localObject2).getParentNode().removeChild((Node)localObject2); } ((Node)localObject1).getParentNode().removeChild((Node)localObject1); } else { localElement = null; } localObject2 = (Element)paramNode.cloneNode(true); localmxCell.setValue(localObject2); localObject3 = ((Element)localObject2).getAttribute("id"); if (localObject3 != null) { localmxCell.setId((String)localObject3); ((Element)localObject2).removeAttribute("id"); } } else { localmxCell.setId(((Element)paramNode).getAttribute("id")); } if ((localElement != null) && (this.idrefs != null)) { localObject1 = this.idrefs.iterator(); while (((Iterator)localObject1).hasNext()) { localObject2 = (String)((Iterator)localObject1).next(); localObject3 = localElement.getAttribute((String)localObject2); if ((localObject3 != null) && (((String)localObject3).length() > 0)) { localElement.removeAttribute((String)localObject2); Object localObject4 = parammxCodec.objects.get(localObject3); if (localObject4 == null) localObject4 = parammxCodec.lookup((String)localObject3); if (localObject4 == null) { Node localNode = parammxCodec.getElementById((String)localObject3); if (localNode != null) { Object localObject5 = mxCodecRegistry.getCodec(localNode.getNodeName()); if (localObject5 == null) localObject5 = this; localObject4 = ((mxObjectCodec)localObject5).decode(parammxCodec, localNode); } } setFieldValue(paramObject, (String)localObject2, localObject4); } } } } return ((Node)(Node)(Node)(Node)localElement); } } /* Location: C:\Users\platform-001\Desktop\新建文件夹 (2)\jgraphx.jar * Qualified Name: com.mxgraph.io.mxCellCodec * JD-Core Version: 0.5.3 */