public interface Label
Label
interface can act as a
constituent, node, or word label with linguistic attributes.
A Label
is required to have a "primary" String
value()
(although this may be null). This is referred to as
its value
.
Implementations of Label split into two groups with respect to equality. Classes that extend ValueLabel define equality solely in terms of String equality of its value (secondary facets may be present but are ignored for purposes of equality), and have equals and compareTo defined across all subclasses of ValueLabel. This behavior should not be changed. Other classes that implement Label define equality only with their own type and require all fields of the type to be equal.
A subclass that extends another Label class should override
the definition of labelFactory()
, since the contract for
this method is that it should return a factory for labels of the
exact same object type.
Modifier and Type | Method and Description |
---|---|
LabelFactory |
labelFactory()
Returns a factory that makes labels of the exact same type as this one.
|
void |
setFromString(java.lang.String labelStr)
Set the contents of this label to this
String
representing the
complete contents of the label. |
void |
setValue(java.lang.String value)
Set the value for the label (if one is stored).
|
java.lang.String |
toString()
Return a String representation of the label.
|
java.lang.String |
value()
Return a String representation of just the "main" value of this label.
|
java.lang.String value()
void setValue(java.lang.String value)
value
- - the value for the labeljava.lang.String toString()
toString()
method
causes a label to spill its guts. It should always return an
empty string rather than null
if there is no value.toString
in class java.lang.Object
void setFromString(java.lang.String labelStr)
String
representing the
complete contents of the label. A class implementing label may
throw an UnsupportedOperationException
for this
method (only). Typically, this method would do
some appropriate decoding of the string in a way that sets
multiple fields in an inverse of the toString()
method.labelStr
- the String that translates into the content of the
labelLabelFactory labelFactory()
null
if no appropriate factory is known.