Interface IndexFieldDescriptor

All Known Subinterfaces:
IndexField<SC,C>, IndexObjectField<SC,NT,C,F>, IndexObjectFieldDescriptor, IndexValueField<SC,NT,C>, IndexValueFieldDescriptor
All Known Implementing Classes:
AbstractIndexField, AbstractIndexObjectField, AbstractIndexValueField

public interface IndexFieldDescriptor
A field in the index.
See Also:
  • Method Details

    • isObjectField

      boolean isObjectField()
      Returns:
      true if this field is an object field. In that case, toObjectField() can be called safely (it won't throw an exception).
    • isValueField

      boolean isValueField()
      Returns:
      true if this field is a value field. In that case, toValueField() can be called safely (it won't throw an exception).
    • toObjectField

      Returns:
      This field as an IndexObjectFieldDescriptor, if possible. Never null.
      Throws:
      SearchException - If this field is not an object field.
    • toValueField

      Returns:
      This field as an IndexValueFieldDescriptor, if possible. Never null.
      Throws:
      SearchException - If this field is not a value field.
    • type

      Returns:
      The type of this field, exposing its various capabilities.
      See Also:
    • parent

      Returns:
      The parent of this field, either the index root or an object field.
    • relativeName

      String relativeName()
      Returns:
      The name of this field relative to its parent.
    • absolutePath

      String absolutePath()
      Returns:
      The absolute, dot-separated path of this field.
    • multiValued

      boolean multiValued()
      Returns:
      true if this field can have multiple values in the same parent document.
    • multiValuedInRoot

      boolean multiValuedInRoot()
      Returns:
      true if this field can have multiple values in the same root document or if it is contained, directly or indirectly, in an object field that can have multiple values.