田源
2024-03-07 4b4083fd73dc27ece42f4835483565eef0e4f608
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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<String, String> 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
 */