Package com.yahoo.document.datatypes
Class StringFieldValue
- java.lang.Object
-
- com.yahoo.vespa.objects.Selectable
-
- com.yahoo.vespa.objects.Identifiable
-
- com.yahoo.document.datatypes.FieldValue
-
- com.yahoo.document.datatypes.StringFieldValue
-
- All Implemented Interfaces:
Cloneable
,Comparable<FieldValue>
- Direct Known Subclasses:
UriFieldValue
public class StringFieldValue extends FieldValue
A StringFieldValue is a wrapper class that holds a String inDocument
s and otherFieldValue
s. String fields can only contain text characters, as defined byText.isTextCharacter(int)
- Author:
- Einar M R Rosenvinge
-
-
Field Summary
Fields Modifier and Type Field Description static int
classId
-
Constructor Summary
Constructors Constructor Description StringFieldValue()
Creates a new StringFieldValue holding an empty String.StringFieldValue(String value)
Creates a new StringFieldValue with the given value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assign(Object o)
Sets a new value for this StringFieldValue. NOTE that doing so will clear all span trees from this value, since they most certainly will not make sense for a new string value.void
clear()
Sets the wrapped String to be an empty String, and clears all span trees.StringFieldValue
clone()
Clones this StringFieldValue and its span trees.int
compareTo(FieldValue fieldValue)
void
deserialize(Field field, FieldReader reader)
Read a field value from the specified readerboolean
equals(Object o)
DataType
getDataType()
ReturnsDataType
.STRING.static PrimitiveDataType.Factory
getFactory()
SpanTree
getSpanTree(String name)
Returns the span tree associated with the given name, or null if this does not exist.Map<String,SpanTree>
getSpanTreeMap()
Returns the map of spantrees.Collection<SpanTree>
getSpanTrees()
Returns an unmodifiable Collection of the span trees with annotations over this String, if any.String
getString()
Returns the String value wrapped by this StringFieldValueObject
getWrappedValue()
Returns the String value wrapped by this StringFieldValueint
hashCode()
void
printXml(XmlStream xml)
Prints XML in Vespa Document XML format for this StringFieldValue.SpanTree
removeSpanTree(String name)
Removes the span tree associated with the given name.void
serialize(Field field, FieldWriter writer)
Write out field value to the specified writerSpanTree
setSpanTree(SpanTree spanTree)
Sets the span tree with annotations over this String.void
setUnChecked(String s)
Only for use by deserializer to avoid the cost of verifying input.String
toString()
Returns the String value wrapped by this StringFieldValue.-
Methods inherited from class com.yahoo.document.datatypes.FieldValue
create, deserialize, getRecursiveValue, getRecursiveValue, onDeserialize, onSerialize, serialize, toXml
-
-
-
-
Constructor Detail
-
StringFieldValue
public StringFieldValue()
Creates a new StringFieldValue holding an empty String.
-
StringFieldValue
public StringFieldValue(String value)
Creates a new StringFieldValue with the given value.- Parameters:
value
- the value to wrap.- Throws:
IllegalArgumentException
- if the string contains non-text characters as defined byText.isTextCharacter(int)
-
-
Method Detail
-
getFactory
public static PrimitiveDataType.Factory getFactory()
-
getDataType
public DataType getDataType()
ReturnsDataType
.STRING.- Specified by:
getDataType
in classFieldValue
- Returns:
- DataType.STRING, always
-
clone
public StringFieldValue clone()
Clones this StringFieldValue and its span trees.- Overrides:
clone
in classFieldValue
- Returns:
- a new deep-copied StringFieldValue
-
clear
public void clear()
Sets the wrapped String to be an empty String, and clears all span trees.- Specified by:
clear
in classFieldValue
-
assign
public void assign(Object o)
Sets a new value for this StringFieldValue. NOTE that doing so will clear all span trees from this value, since they most certainly will not make sense for a new string value.- Specified by:
assign
in classFieldValue
- Parameters:
o
- the new String to assign to this. An argument of null is equal to calling clear().- Throws:
IllegalArgumentException
- if the given argument is a string containing non-text characters as defined byText.isTextCharacter(int)
-
getSpanTrees
public Collection<SpanTree> getSpanTrees()
Returns an unmodifiable Collection of the span trees with annotations over this String, if any.- Returns:
- an unmodifiable Collection of the span trees with annotations over this String, or an empty Collection
-
getSpanTreeMap
public final Map<String,SpanTree> getSpanTreeMap()
Returns the map of spantrees. Might be null.
-
getSpanTree
public SpanTree getSpanTree(String name)
Returns the span tree associated with the given name, or null if this does not exist.- Parameters:
name
- the name of the span tree to return- Returns:
- the span tree associated with the given name, or null if this does not exist.
-
setSpanTree
public SpanTree setSpanTree(SpanTree spanTree)
Sets the span tree with annotations over this String.- Parameters:
spanTree
- the span tree with annotations over this String- Returns:
- the input spanTree for chaining
- Throws:
IllegalArgumentException
- if a span tree with the given name already exists.
-
removeSpanTree
public SpanTree removeSpanTree(String name)
Removes the span tree associated with the given name.- Parameters:
name
- the name of the span tree to remove- Returns:
- the span tree previously associated with the given name, or null if it did not exist
-
getString
public String getString()
Returns the String value wrapped by this StringFieldValue
-
getWrappedValue
public Object getWrappedValue()
Returns the String value wrapped by this StringFieldValue- Overrides:
getWrappedValue
in classFieldValue
-
printXml
public void printXml(XmlStream xml)
Prints XML in Vespa Document XML format for this StringFieldValue.- Specified by:
printXml
in classFieldValue
- Parameters:
xml
- the stream to print to
-
toString
public String toString()
Returns the String value wrapped by this StringFieldValue.- Overrides:
toString
in classcom.yahoo.vespa.objects.Identifiable
- Returns:
- the String value wrapped by this StringFieldValue.
-
equals
public boolean equals(Object o)
- Overrides:
equals
in classcom.yahoo.vespa.objects.Identifiable
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classcom.yahoo.vespa.objects.Identifiable
-
serialize
public void serialize(Field field, FieldWriter writer)
Description copied from class:FieldValue
Write out field value to the specified writer- Specified by:
serialize
in classFieldValue
-
deserialize
public void deserialize(Field field, FieldReader reader)
Description copied from class:FieldValue
Read a field value from the specified reader- Specified by:
deserialize
in classFieldValue
-
compareTo
public int compareTo(FieldValue fieldValue)
- Specified by:
compareTo
in interfaceComparable<FieldValue>
- Overrides:
compareTo
in classFieldValue
-
setUnChecked
public void setUnChecked(String s)
Only for use by deserializer to avoid the cost of verifying input.
-
-