コード例 #1
0
 /*
  * ================================================ 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());
 }
コード例 #2
0
  /*
   * =============================================== 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;
  }
コード例 #3
0
  @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;
  }
コード例 #4
0
 @Override
 public CreaElement addChild(CreaElement element) {
   if (element.getParent() != this) mChildren.add(element.setParent(this));
   return this;
 }
コード例 #5
0
 @Override
 public CreaElement removeChild(CreaElement element) {
   if (element.getParent() == this) mChildren.remove(element.setParent(null));
   return this;
 }