Class FirstVariantCategoryNameListValueProvider
- java.lang.Object
-
- de.hybris.platform.solrfacetsearch.provider.impl.AbstractPropertyFieldValueProvider
-
- de.hybris.platform.commerceservices.search.solrfacetsearch.provider.AbstractMultidimensionalProductFieldValueProvider
-
- de.hybris.platform.commerceservices.search.solrfacetsearch.provider.impl.FirstVariantCategoryNameListValueProvider
-
- All Implemented Interfaces:
FieldValueProvider
public class FirstVariantCategoryNameListValueProvider extends AbstractMultidimensionalProductFieldValueProvider
Value Provider for first level of categories for multidimensional products.
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.solrfacetsearch.provider.impl.AbstractPropertyFieldValueProvider
i18nService, localeService, modelService, rangeNameProvider
-
-
Constructor Summary
Constructors Constructor Description FirstVariantCategoryNameListValueProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCategories(java.util.SortedMap<VariantValueCategoryModel,GenericVariantProductModel> categoryValues, GenericVariantProductModel variant)Add first level category fromvarianttocategoryValues.SolrFirstVariantCategoryManagergetCategoryManager()java.lang.ObjectgetFieldValue(ProductModel product)protected java.util.List<VariantValueCategoryModel>getVariantList(GenericVariantProductModel variant)Get the list ofVariantValueCategoryModelfor a givenGenericVariantProductModel.java.util.Comparator<VariantValueCategoryModel>getVariantValueCategoryModelPriorityComparator()java.util.Comparator<VariantValueCategoryModel>getVariantValueCategoryModelSequenceComparator()protected booleanisCurrentListPrecedent(java.util.List<VariantValueCategoryModel> currentCategoryValues, java.util.List<VariantValueCategoryModel> oldCategoryValues)Compare two category lists (previously sorted by priority) to check if the categories in the current one are previous to the old one.
e.g.: IfcurrentCategoryValueshas sequences [3,4,5] andoldCategoryValueshas sequences [3,5,4], thencurrentCategoryValuesis previous (on first level, 3 == 3, but on second level 4 < 5).voidsetCategoryManager(SolrFirstVariantCategoryManager categoryManager)voidsetVariantValueCategoryModelPriorityComparator(java.util.Comparator<VariantValueCategoryModel> variantValueCategoryModelPriorityComparator)voidsetVariantValueCategoryModelSequenceComparator(java.util.Comparator<VariantValueCategoryModel> variantValueCategoryModelSequenceComparator)-
Methods inherited from class de.hybris.platform.commerceservices.search.solrfacetsearch.provider.AbstractMultidimensionalProductFieldValueProvider
addFieldValues, getBaseProduct, getFieldNameProvider, getFieldValues, isVariantBaseProduct, setFieldNameProvider
-
Methods inherited from class de.hybris.platform.solrfacetsearch.provider.impl.AbstractPropertyFieldValueProvider
getRangeNameList, getRangeNameList, setI18nService, setLocaleService, setModelService, setRangeNameProvider
-
-
-
-
Method Detail
-
getFieldValue
public java.lang.Object getFieldValue(ProductModel product)
- Specified by:
getFieldValuein classAbstractMultidimensionalProductFieldValueProvider
-
addCategories
protected void addCategories(java.util.SortedMap<VariantValueCategoryModel,GenericVariantProductModel> categoryValues, GenericVariantProductModel variant)
Add first level category fromvarianttocategoryValues. If there is already a first level category with higher precedence, nothing is added.- Parameters:
categoryValues- The map to be populated.variant- The variant that contains the categories.
-
getVariantList
protected java.util.List<VariantValueCategoryModel> getVariantList(GenericVariantProductModel variant)
Get the list ofVariantValueCategoryModelfor a givenGenericVariantProductModel.- Parameters:
variant- The variant that contains the categories.- Returns:
- A list of categories sorted by priority.
-
isCurrentListPrecedent
protected boolean isCurrentListPrecedent(java.util.List<VariantValueCategoryModel> currentCategoryValues, java.util.List<VariantValueCategoryModel> oldCategoryValues)
Compare two category lists (previously sorted by priority) to check if the categories in the current one are previous to the old one.
e.g.: IfcurrentCategoryValueshas sequences [3,4,5] andoldCategoryValueshas sequences [3,5,4], thencurrentCategoryValuesis previous (on first level, 3 == 3, but on second level 4 < 5).- Parameters:
currentCategoryValues- Current category list.oldCategoryValues- Existent category list to compare with.- Returns:
trueifcurrentCategoryValuescategories are in lower sequence thanoldCategoryValues.
-
getVariantValueCategoryModelPriorityComparator
public java.util.Comparator<VariantValueCategoryModel> getVariantValueCategoryModelPriorityComparator()
-
setVariantValueCategoryModelPriorityComparator
public void setVariantValueCategoryModelPriorityComparator(java.util.Comparator<VariantValueCategoryModel> variantValueCategoryModelPriorityComparator)
-
getVariantValueCategoryModelSequenceComparator
public java.util.Comparator<VariantValueCategoryModel> getVariantValueCategoryModelSequenceComparator()
-
setVariantValueCategoryModelSequenceComparator
public void setVariantValueCategoryModelSequenceComparator(java.util.Comparator<VariantValueCategoryModel> variantValueCategoryModelSequenceComparator)
-
getCategoryManager
public SolrFirstVariantCategoryManager getCategoryManager()
-
setCategoryManager
public void setCategoryManager(SolrFirstVariantCategoryManager categoryManager)
-
-