Class FieldValue

    • Field Detail

      • classId

        public static final int classId
    • Constructor Detail

      • FieldValue

        public FieldValue()
    • Method Detail

      • getDataType

        public abstract DataType getDataType()
      • toXml

        public String toXml()
        Get XML representation of a single field and all its children, if any.
        Returns:
        XML representation of field in a <value> element
      • deserialize

        public final void deserialize​(FieldReader reader)
        Read data from the given buffer to create this field value. As some field values have their type self contained, we need the type manager object to be able to retrieve it.
      • serialize

        public final void serialize​(com.yahoo.io.GrowableByteBuffer buf)
      • printXml

        public abstract void printXml​(XmlStream xml)
      • clear

        public abstract void clear()
      • clone

        public FieldValue clone()
        Overrides:
        clone in class com.yahoo.vespa.objects.Identifiable
      • assign

        public abstract void assign​(Object o)
        Assign this non-fieldvalue value to this field value. This is used to be able to assign ints to Integer field values and List to Array field values and such.

        Override to accept the specific types that should be legal.

        Throws:
        IllegalArgumentException - If the object given is of wrong type for this field value.
      • getWrappedValue

        public Object getWrappedValue()
        Used to retrieve wrapped type for simple types, such that you can use get methods to retrieve ints and floats directly instead of Int/Float field values. Complex types that can't be specified by simple java types just return themself.
      • getRecursiveValue

        public FieldValue getRecursiveValue​(String path)
        Using the given field path, digs through the document and returns the matching field value. If the field path resolves to multiple values, returns an ArrayFieldValue containing the values.
      • onSerialize

        public void onSerialize​(com.yahoo.vespa.objects.Serializer target)
        Overrides:
        onSerialize in class com.yahoo.vespa.objects.Identifiable
      • onDeserialize

        public void onDeserialize​(com.yahoo.vespa.objects.Deserializer data)
        Overrides:
        onDeserialize in class com.yahoo.vespa.objects.Identifiable
      • serialize

        public abstract void serialize​(Field field,
                                       FieldWriter writer)
        Write out field value to the specified writer
      • deserialize

        public abstract void deserialize​(Field field,
                                         FieldReader reader)
        Read a field value from the specified reader