Class DefaultRangeNameProvider
- java.lang.Object
-
- de.hybris.platform.solrfacetsearch.provider.impl.DefaultRangeNameProvider
-
- All Implemented Interfaces:
RangeNameProvider
public class DefaultRangeNameProvider extends java.lang.Object implements RangeNameProvider
-
-
Constructor Summary
Constructors Constructor Description DefaultRangeNameProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddValueRange(java.util.List<java.lang.String> rangeNameList, IndexedProperty property, java.lang.Object value, ValueRange range)java.util.List<java.lang.String>getRangeNameList(IndexedProperty property, java.lang.Object value)Resolves a list of range names for a specific value.java.util.List<java.lang.String>getRangeNameList(IndexedProperty property, java.lang.Object value, java.lang.String qualifier)Resolves a list of range names for a specific value.java.util.List<ValueRange>getValueRanges(IndexedProperty property, java.lang.String qualifier)Returns the ranges associated with an indexed property that match a specific qualifier.protected booleanisDoubleType(IndexedProperty property)protected booleanisFloatType(IndexedProperty property)protected booleanisIntegerType(IndexedProperty property)booleanisRanged(IndexedProperty property)Checks is an indexed property is ranged.protected booleanisStringOrTextType(IndexedProperty property)protected java.lang.ComparablevalueOrDefault(java.lang.Object value, java.util.function.Function<java.lang.String,java.lang.Comparable> valueFunction, java.util.function.Supplier<java.lang.Comparable> defaultSupplier)
-
-
-
Method Detail
-
isRanged
public boolean isRanged(IndexedProperty property)
Description copied from interface:RangeNameProviderChecks is an indexed property is ranged.- Specified by:
isRangedin interfaceRangeNameProvider- Parameters:
property- - the indexed property- Returns:
trueif the indexed property is ranged,falseotherwise
-
getValueRanges
public java.util.List<ValueRange> getValueRanges(IndexedProperty property, java.lang.String qualifier)
Description copied from interface:RangeNameProviderReturns the ranges associated with an indexed property that match a specific qualifier.- Specified by:
getValueRangesin interfaceRangeNameProvider- Parameters:
property- - the indexed propertyqualifier- - the qualifier used for matching- Returns:
- the list of ranges
-
getRangeNameList
public java.util.List<java.lang.String> getRangeNameList(IndexedProperty property, java.lang.Object value) throws FieldValueProviderException
Description copied from interface:RangeNameProviderResolves a list of range names for a specific value. For numerical types it allows open upper-limit range. If the property is not multiValueIndexedProperty.isMultiValue()only first matching range will be returned- Specified by:
getRangeNameListin interfaceRangeNameProvider- Parameters:
property- - the indexed propertyvalue- - 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
public java.util.List<java.lang.String> getRangeNameList(IndexedProperty property, java.lang.Object value, java.lang.String qualifier) throws FieldValueProviderException
Description copied from interface:RangeNameProviderResolves a list of range names for a specific value. For numerical types it allows open upper-limit range. If the property is not multiValueIndexedProperty.isMultiValue()only first matching range will be returned- Specified by:
getRangeNameListin interfaceRangeNameProvider- Parameters:
property- - the indexed propertyvalue- - the value for which the range names should be resolvedqualifier- - 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
-
addValueRange
protected void addValueRange(java.util.List<java.lang.String> rangeNameList, IndexedProperty property, java.lang.Object value, ValueRange range)
-
isStringOrTextType
protected boolean isStringOrTextType(IndexedProperty property)
-
isDoubleType
protected boolean isDoubleType(IndexedProperty property)
-
isFloatType
protected boolean isFloatType(IndexedProperty property)
-
isIntegerType
protected boolean isIntegerType(IndexedProperty property)
-
valueOrDefault
protected java.lang.Comparable valueOrDefault(java.lang.Object value, java.util.function.Function<java.lang.String,java.lang.Comparable> valueFunction, java.util.function.Supplier<java.lang.Comparable> defaultSupplier)
-
-