Interface RangeNameProvider

  • All Known Implementing Classes:
    DefaultRangeNameProvider

    public interface RangeNameProvider
    Service responsible for resolving the ranges for indexed property values. This is called during indexing.
    • Method Detail

      • isRanged

        boolean isRanged​(IndexedProperty property)
        Checks is an indexed property is ranged.
        Parameters:
        property - - the indexed property
        Returns:
        true if the indexed property is ranged, false otherwise
      • getValueRanges

        java.util.List<ValueRange> getValueRanges​(IndexedProperty property,
                                                  java.lang.String qualifier)
        Returns the ranges associated with an indexed property that match a specific qualifier.
        Parameters:
        property - - the indexed property
        qualifier - - the qualifier used for matching
        Returns:
        the list of ranges
      • getRangeNameList

        java.util.List<java.lang.String> getRangeNameList​(IndexedProperty property,
                                                          java.lang.Object value)
                                                   throws FieldValueProviderException
        Resolves a list of range names for a specific value. For numerical types it allows open upper-limit range. If the property is not multiValue IndexedProperty.isMultiValue() only first matching range will be returned
        Parameters:
        property - - the indexed property
        value - - the value for which the range names should be resolved
        Returns:
        the list of range names
        Throws:
        FieldValueProviderException - if it is not possible to resolve a range name for a specific value
      • getRangeNameList

        java.util.List<java.lang.String> getRangeNameList​(IndexedProperty property,
                                                          java.lang.Object value,
                                                          java.lang.String qualifier)
                                                   throws FieldValueProviderException
        Resolves a list of range names for a specific value. For numerical types it allows open upper-limit range. If the property is not multiValue IndexedProperty.isMultiValue() only first matching range will be returned
        Parameters:
        property - - the indexed property
        value - - the value for which the range names should be resolved
        qualifier - - the qualifier used for matching
        Returns:
        the list of range names
        Throws:
        FieldValueProviderException - if it is not possible to resolve a range name for a specific value