Class DefaultVariantSortStrategy
java.lang.Object
de.hybris.platform.acceleratorstorefrontcommons.variants.impl.DefaultVariantSortStrategy
- All Implemented Interfaces:
VariantSortStrategy,Comparator<VariantOptionData>
Default strategy for comparing variants.
Use
Use
Use
sortingFieldsOrder property to set up attributes to sort by. E.g give A,B attributes and sorting will be
performed first against A attribute and if two values are considered equal (by A) then values of B attribute are
compared.Use
comparators to provide comparators for particular attributes-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompare(VariantOptionData product1, VariantOptionData product2) protected Comparator<String>getComparator(String field) protected Map<String,Comparator<String>> protected Comparator<String>protected StringgetVariantValue(String field, VariantOptionData variant) voidsetComparators(Map<String, Comparator<String>> comparators) Map of attribute - comparator.voidsetDefaultComparator(Comparator<String> defaultComparator) voidsetSortingFieldsOrder(List<String> sortingFieldsOrder) Sets the sorting fields order.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Constructor Details
-
DefaultVariantSortStrategy
public DefaultVariantSortStrategy()
-
-
Method Details
-
getSortingFieldsOrder
-
setSortingFieldsOrder
Description copied from interface:VariantSortStrategySets the sorting fields order. String array contains variant attributes that will be used to compare variants. When the method was not called or empty list was passed no sorting will be performed.- Specified by:
setSortingFieldsOrderin interfaceVariantSortStrategy- Parameters:
sortingFieldsOrder- the new sorting fields order
-
getComparators
-
setComparators
Description copied from interface:VariantSortStrategyMap of attribute - comparator. Where attribute is variant attribute to compare for sorting- Specified by:
setComparatorsin interfaceVariantSortStrategy
-
getDefaultComparator
-
setDefaultComparator
- Specified by:
setDefaultComparatorin interfaceVariantSortStrategy- Parameters:
defaultComparator- for comparing variants' values - used as fallback, provide your own inVariantSortStrategy.setComparators(Map)
-
compare
- Specified by:
comparein interfaceComparator<VariantOptionData>
-
getVariantValue
-
getComparator
-