Class SortFieldProvider

    • Field Detail

      • name

        protected final java.lang.String name
        The name this SortFieldProvider is registered under
    • Constructor Detail

      • SortFieldProvider

        protected SortFieldProvider​(java.lang.String name)
        Creates a new SortFieldProvider.

        The provided name will be written into the index segment: in order to for the segment to be read this class should be registered with Java's SPI mechanism (registered in META-INF/ of your jar file, etc).

        Parameters:
        name - must be all ascii alphanumeric, and less than 128 characters in length.
    • Method Detail

      • forName

        public static SortFieldProvider forName​(java.lang.String name)
        Looks up a SortFieldProvider by name
      • availableSortFieldProviders

        public static java.util.Set<java.lang.String> availableSortFieldProviders()
        Lists all available SortFieldProviders
      • reloadSortFieldProviders

        public static void reloadSortFieldProviders​(java.lang.ClassLoader classLoader)
        Reloads the SortFieldProvider list from the given ClassLoader. Changes to the list are visible after the method ends, all iterators (availableSortFieldProviders() ()},...) stay consistent.

        NOTE: Only new SortFieldProviders are added, existing ones are never removed or replaced.

        This method is expensive and should only be called for discovery of new SortFieldProviders on the given classpath/classloader!

      • write

        public static void write​(SortField sf,
                                 DataOutput output)
                          throws java.io.IOException
        Writes a SortField to a DataOutput
        Throws:
        java.io.IOException
      • readSortField

        public abstract SortField readSortField​(DataInput in)
                                         throws java.io.IOException
        Reads a SortField from serialized bytes
        Throws:
        java.io.IOException
      • writeSortField

        public abstract void writeSortField​(SortField sf,
                                            DataOutput out)
                                     throws java.io.IOException
        Writes a SortField to a DataOutput

        This is used to record index sort information in segment headers

        Throws:
        java.io.IOException