Interface ISpaceIndex

All Superinterfaces:
Externalizable, ISwapExternalizable, Serializable, SmartExternalizable, SpaceIndex
All Known Implementing Classes:
AbstractSpaceIndex, CompoundIndex, CustomIndex, SpaceCollectionIndex, SpacePathIndex, SpacePropertyIndex

public interface ISpaceIndex extends SpaceIndex, SmartExternalizable, ISwapExternalizable

Encapsulates information about an index in a space type. Index defines how the objects of this class are stored: Index can be:

  • basic - supports efficiently equality queries.
  • extended - supports range queries

    Index also defines how the index value is extracted from the given entry.

    Usage example:
    @SpaceIndex(path="personalInfo.address")

  • Since:
    7.1
    Author:
    Niv Ingberg
    • Method Details

      • setUnique

        void setUnique(boolean val)
        sets the unique indicator to the desired value.
      • getIndexValue

        Object getIndexValue(ServerEntry entry)
        Returns:
        the value that will be used to index the data
      • getIndexValueForTemplate

        Object getIndexValueForTemplate(ServerEntry entry)
        Returns:
        the value that will be used for single template value indexing
      • isMultiValuePerEntryIndex

        boolean isMultiValuePerEntryIndex()
        Returns:
        true if the index is a multi-value index
      • getIndexOriginType

        ISpaceIndex.IndexOriginTypes getIndexOriginType()
        Returns:
        the index origin
      • getMultiValueIndexType

        Returns:
        the type of multi-value index
      • isCompoundIndex

        boolean isCompoundIndex()
        Returns:
        true if its a compound index
      • getCompoundIndexSegments

        ISpaceCompoundIndexSegment[] getCompoundIndexSegments()
        Returns:
        segments of compound index