info.bioinfweb.treegraph.document
Class Label

java.lang.Object
  extended by info.bioinfweb.treegraph.document.ConcretePaintableElement
      extended by info.bioinfweb.treegraph.document.TextElement
          extended by info.bioinfweb.treegraph.document.Label
All Implemented Interfaces:
PaintableElement, Cloneable
Direct Known Subclasses:
IconLabel, TextLabel

public abstract class Label
extends TextElement
implements Cloneable

Label is the acestor of the two label classes TextLabel and CharacterShiftLabel.

Author:
BenStoever

Field Summary
private  String id
           
private static Pattern idPattern
           
private  Labels labels
           
 
Fields inherited from class info.bioinfweb.treegraph.document.ConcretePaintableElement
positions
 
Constructor Summary
Label(Labels labels)
           
 
Method Summary
 void assignLabelData(Label other)
          Assigns the values of the passed label to this class.
abstract  Label clone()
          Implementing classes should not copy the EnumMap positions because the copy of this element will be located at another position.
 Label getAbove()
           
 Label getBelow()
           
 Branch getHoldingBranch()
           
 String getID()
           
 Labels getLabels()
           
 int getLineIndex()
          Returns the line index of the label or -1 if it is not linked to a Labels-object.
 int getLineNo()
          Returns the line number of this label or -1 if it is not linked to a Labels-object.
 Label getNext()
           
abstract  LabelPositionFormats getPositionFormats()
           
 Label getPrevious()
           
static boolean idIsValid(String id)
           
 boolean isAbove()
          Tests if this label is located in the upper label block.
 void reinsert()
          Reinserts this label into its owning Labels-object of one is linked.
 void setID(String id)
           
 void setLabels(Labels labels)
           
abstract  void setPositionFormats(LabelPositionFormats formats)
           
 
Methods inherited from class info.bioinfweb.treegraph.document.TextElement
assignTextElementData, getData, getFormats, toString
 
Methods inherited from class info.bioinfweb.treegraph.document.ConcretePaintableElement
getPosition
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface info.bioinfweb.treegraph.document.PaintableElement
setFormats
 

Field Detail

idPattern

private static final Pattern idPattern

labels

private Labels labels

id

private String id
Constructor Detail

Label

public Label(Labels labels)
Method Detail

getID

public String getID()

getLabels

public Labels getLabels()

getHoldingBranch

public Branch getHoldingBranch()

setLabels

public void setLabels(Labels labels)

setID

public void setID(String id)

getPositionFormats

public abstract LabelPositionFormats getPositionFormats()

setPositionFormats

public abstract void setPositionFormats(LabelPositionFormats formats)

idIsValid

public static boolean idIsValid(String id)

reinsert

public void reinsert()
Reinserts this label into its owning Labels-object of one is linked. This becomes necessary of the position of the label changes.


assignLabelData

public void assignLabelData(Label other)
Assigns the values of the passed label to this class. Note that the link to the owning Labels-object other might have is not copied.

Parameters:
other -

isAbove

public boolean isAbove()
Tests if this label is located in the upper label block.

Returns:
true, if the label is above, false if the label is below or not linked to a Labels-object.

getLineNo

public int getLineNo()
Returns the line number of this label or -1 if it is not linked to a Labels-object.

Returns:

getLineIndex

public int getLineIndex()
Returns the line index of the label or -1 if it is not linked to a Labels-object.

Returns:

getNext

public Label getNext()

getPrevious

public Label getPrevious()

getAbove

public Label getAbove()

getBelow

public Label getBelow()

clone

public abstract Label clone()
Description copied from class: ConcretePaintableElement
Implementing classes should not copy the EnumMap positions because the copy of this element will be located at another position. Therefor the copy will should an empty EnumMap.

Specified by:
clone in class TextElement