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 in Documents and other FieldValues. String fields can only contain text characters, as defined by Text.isTextCharacter(int)
Author:
Einar M R Rosenvinge
  • Field Details

    • classId

      public static final int classId
  • Constructor Details

    • 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 by Text.isTextCharacter(int)
  • Method Details

    • getFactory

      public static PrimitiveDataType.Factory getFactory()
    • getDataType

      public DataType getDataType()
      Returns DataType.STRING.
      Specified by:
      getDataType in class FieldValue
      Returns:
      DataType.STRING, always
    • clone

      public StringFieldValue clone()
      Clones this StringFieldValue and its span trees.
      Overrides:
      clone in class FieldValue
      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 class FieldValue
    • 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 class FieldValue
      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 by Text.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 class FieldValue
    • printXml

      @Deprecated public void printXml(XmlStream xml)
      Deprecated.
      Prints XML in Vespa Document XML format for this StringFieldValue.
      Specified by:
      printXml in class FieldValue
      Parameters:
      xml - the stream to print to
    • toString

      public String toString()
      Returns the String value wrapped by this StringFieldValue.
      Overrides:
      toString in class com.yahoo.vespa.objects.Identifiable
      Returns:
      the String value wrapped by this StringFieldValue.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class com.yahoo.vespa.objects.Identifiable
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class com.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 class FieldValue
    • 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 class FieldValue
    • compareTo

      public int compareTo(FieldValue fieldValue)
      Specified by:
      compareTo in interface Comparable<FieldValue>
      Overrides:
      compareTo in class FieldValue
    • setUnChecked

      public void setUnChecked(String s)
      Only for use by deserializer to avoid the cost of verifying input.