class Element extends java.lang.Object implements Tree
A Leaf type has a value, comparison is rather simple in this case.
A Structured type has named children. The comparison between the newer and older child elements is then done on their name. Two elements with the same name are then matched.
The classes are prepared for extension but so far it turned out to be unnecessary.
Modifier and Type | Field and Description |
---|---|
(package private) Delta |
add |
(package private) Element[] |
children |
(package private) java.lang.String |
comment |
(package private) static Element[] |
EMPTY |
(package private) java.lang.String |
name |
(package private) Delta |
remove |
(package private) Type |
type |
Constructor and Description |
---|
Element(Tree.Data data) |
Element(Type type,
java.lang.String name) |
Element(Type type,
java.lang.String name,
java.util.Collection<? extends Element> children,
Delta add,
Delta remove,
java.lang.String comment) |
Element(Type type,
java.lang.String name,
Element... children) |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Tree other) |
Diff |
diff(Tree older) |
boolean |
equals(java.lang.Object other) |
Element |
get(java.lang.String name) |
Tree[] |
getChildren() |
(package private) java.lang.String |
getComment() |
java.lang.String |
getName() |
Type |
getType() |
int |
hashCode() |
Delta |
ifAdded() |
Delta |
ifRemoved() |
Tree.Data |
serialize() |
java.lang.String |
toString() |
private void |
toString(java.lang.StringBuilder sb,
java.lang.String indent) |
static final Element[] EMPTY
final Type type
final java.lang.String name
final Delta add
final Delta remove
final java.lang.String comment
final Element[] children
Element(Type type, java.lang.String name)
Element(Type type, java.lang.String name, java.util.Collection<? extends Element> children, Delta add, Delta remove, java.lang.String comment)
public Element(Tree.Data data)
java.lang.String getComment()
public int compareTo(Tree other)
compareTo
in interface java.lang.Comparable<Tree>
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public Tree[] getChildren()
getChildren
in interface Tree
public java.lang.String toString()
toString
in class java.lang.Object
private void toString(java.lang.StringBuilder sb, java.lang.String indent)