Interface Label
- All Known Implementing Classes:
DiffLinesLabel,LinesLabel,VariationLabel
public interface Label
Base interface for labels of
VariationTrees and VariationDiffs.-
Method Summary
Modifier and TypeMethodDescriptionclone()Creates a deep copy of this label.getLines()Returns the lines which need to be printed before the children of a node.Returns the lines which need to be printed after the children of a node.static booleanobservablyEqual(Label a, Label b) Tests whether two labels are observably equal.default LabelReturns a deep copy where the state that is only valid attimeis set to its default value.default LabelwithTimeDependentStateFrom(Label other, Time time) Returns a deep copy where the state that is only valid attimeis copied fromother.
-
Method Details
-
getLines
Returns the lines which need to be printed before the children of a node. Most lines associated with a node should be included in this list, for example,#ifs are stored here. -
getTrailingLines
Returns the lines which need to be printed after the children of a node. For example,#endifs are stored as trailing lines. -
withoutTimeDependentState
Returns a deep copy where the state that is only valid attimeis set to its default value. Note that not all implementations need to have time dependent state.- See Also:
-
withTimeDependentStateFrom
Returns a deep copy where the state that is only valid attimeis copied fromother. All time independent state must be equal inthisandother. Note that not all implementations need to have time dependent state.- See Also:
-
clone
Label clone()Creates a deep copy of this label. -
observablyEqual
Tests whether two labels are observably equal. Observably equal means that the two labels cannot be distinguished by using methods from this interface. The given labels might indeed be of different classes or might be considered unequal regardingObject.equals(Object).
-