package com.plectix.simulator.xmlmap;
import java.util.List;
public class Node {
private Data data;
private String id;
private Data name;
private Data text;
private String type;
public String getData() {
return data.dataStr;
}
public String getId() {
return id;
}
public String getName() {
return name.dataStr;
}
public String getText() {
return text.dataStr;
}
public String getType() {
return type;
}
Node(String dataStr, String id, String name, String text, String type) {
this.data = new Data(dataStr.replace("=>", "->"));
this.id = id;
this.name = new Data(name);
this.text = new Data(text.replace("=>", "->"));
this.type = type;
}
Boolean equals(Node node) {
if ((node.id.equals(this.id))
&& (node.name.equals(this.name))
&& (node.text.equals(this.text))
&& (node.type.equals(this.type))
// && (node.data.equals(this.data))
)
return true;
return false;
}
private static class Data {
private String dataStr;
Data(String dataStr) {
if (dataStr != null) {
// dataStr = dataStr.replace(" ", "");
// dataStr = dataStr.replace("=", "-");
// dataStr = dataStr.replace("~", "-");
// if (dataStr == "null") dataStr = "";
}
this.dataStr = dataStr;
}
Boolean equals(Data data) {
// boolean first = true;
if (data.dataStr.equals(this.dataStr)) {
return true;
}
// StringBuffer d1, d2;
// List<Buffer> list = new ArrayList<Buffer>();
// d2 = new StringBuffer(data.dataStr);
// d1 = new StringBuffer(this.dataStr);
// if (d1.length() == d2.length()) {
//
// for (int i = 0; i < d1.length(); i++) {
// if (d1.charAt(i) != d2.charAt(i))
// return false;
// if (d1.charAt(i) == '!') {
// i++;
// if (first) {
// list.add(new Buffer(d1.charAt(i), d2.charAt(i), i));
// first = false;
// } else {
// Buffer buf = found(d1.charAt(i), list);
// if (buf != null) {
// if (buf.c2 == d2.charAt(i))
// buf.append(i);
// else
// return false;
// } else {
// list.add(new Buffer(d1.charAt(i), d2.charAt(i),
// i));
// }
// }
// }
// }
// return true;
// }
return false;
}
private Buffer found(char c, List<Buffer> list) {
for (Buffer buffer : list) {
if (buffer.c1 == c) {
return buffer;
}
}
return null;
}
class Buffer {
private char c1, c2;
private int index1, index2;
Buffer(char c1, char c2, int index1) {
this.c1 = c1;
this.c2 = c2;
this.index1 = index1;
this.index2 = -1;
}
char getc1() {
return c1;
}
void append(int i) {
this.index2 = i;
}
}
}
}