/* * ================================================ PRIMARY FUNCTIONS =============================================== */ @Override public boolean equals(Object o) { if (!(o instanceof CreaElement)) return false; if (!super.equals(o)) return false; CreaElement oe = (CreaElement) o; return this.mChildren.equals(oe.getChildren()) && this.mPropertys.equals(oe.getProperties()); }
/* * =============================================== GETTERS AND SETTERS ============================================== */ @Override public CreaElement setParent(CreaElement element) { CreaElement oldParent = getParent(); super.setParent(element); if (oldParent != null && oldParent != getParent()) oldParent.removeChild(this); return this; }
@Override public StringBuilder toString(StringBuilder strb, int indents) { if (indents > 0) { char[] indent = new char[indents]; for (int i = 0; i < indents; i++) indent[i] = '\t'; strb.append(indent); } strb.append("<").append(this.getName()); for (CreaProperty i : mPropertys) strb.append(" ").append(i.toString()); strb.append(">"); if (getValue() != null) strb.append( this.getValue() .replaceAll("\n", "\\\\n") .replaceAll("\t", "\\\\t") .replaceAll("\\\\", "\\\\")); for (CreaElement i : mChildren) { strb.append('\n'); i.toString(strb, indents + 1); } return strb; }
@Override public CreaElement addChild(CreaElement element) { if (element.getParent() != this) mChildren.add(element.setParent(this)); return this; }
@Override public CreaElement removeChild(CreaElement element) { if (element.getParent() == this) mChildren.remove(element.setParent(null)); return this; }