Class DefaultDataDrivenEnumDetailsService
java.lang.Object
com.broadleafcommerce.catalog.service.enumeration.commerce.DefaultDataDrivenEnumDetailsService
- All Implemented Interfaces:
DataDrivenEnumDetailsService
public class DefaultDataDrivenEnumDetailsService
extends Object
implements DataDrivenEnumDetailsService
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultDataDrivenEnumDetailsService(com.broadleafcommerce.common.extension.TypeFactory typeFactory, DataDrivenEnumService<DataDrivenEnum> dataDrivenEnumService, CategoryService<Category> categoryService) -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<DataDrivenEnumDetails>buildDetails(Collection<DataDrivenEnum> dataDrivenEnums, DataDrivenEnumDetailsRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected StringbuildExpectedCategoryUrl(DataDrivenEnumDetails dataDrivenEnumDetails) Builds a category URL that is expected for the givenDataDrivenEnumDetails.booleancheckAssociatedCategoryExists(DataDrivenEnumDetails dataDrivenEnumDetails, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Checks if an associated category exists based on the expected category url for the givenDataDrivenEnumDetails.getValue().protected CategoryService<Category>getDataDrivenEnumDetailsForRequest(DataDrivenEnumDetailsRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Gets aDataDrivenEnumDetailsfor theDataDrivenEnumDetailsRequest.protected DataDrivenEnumService<DataDrivenEnum>protected com.broadleafcommerce.common.extension.TypeFactoryprotected Set<DataDrivenEnum>resolveDataDrivenEnums(DataDrivenEnumDetailsRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected void
-
Constructor Details
-
DefaultDataDrivenEnumDetailsService
public DefaultDataDrivenEnumDetailsService(com.broadleafcommerce.common.extension.TypeFactory typeFactory, DataDrivenEnumService<DataDrivenEnum> dataDrivenEnumService, CategoryService<Category> categoryService)
-
-
Method Details
-
getDataDrivenEnumDetailsForRequest
public Optional<DataDrivenEnumDetailsList> getDataDrivenEnumDetailsForRequest(DataDrivenEnumDetailsRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:DataDrivenEnumDetailsServiceGets aDataDrivenEnumDetailsfor theDataDrivenEnumDetailsRequest.- Specified by:
getDataDrivenEnumDetailsForRequestin interfaceDataDrivenEnumDetailsService- Parameters:
request- theDataDrivenEnumDetailsRequestwith additional request context for identifying the data driven enum for which to retrieve details and defining the how much detail to go into.contextInfo- context information surrounding sandboxing/multitenant state- Returns:
- a
DataDrivenEnumDetailsfor theDataDrivenEnumDetailsRequest.
-
validateRequest
-
resolveDataDrivenEnums
protected Set<DataDrivenEnum> resolveDataDrivenEnums(DataDrivenEnumDetailsRequest request, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
buildDetails
protected Collection<DataDrivenEnumDetails> buildDetails(Collection<DataDrivenEnum> dataDrivenEnums, DataDrivenEnumDetailsRequest request, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
checkAssociatedCategoryExists
public boolean checkAssociatedCategoryExists(DataDrivenEnumDetails dataDrivenEnumDetails, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:DataDrivenEnumDetailsServiceChecks if an associated category exists based on the expected category url for the givenDataDrivenEnumDetails.getValue().- Specified by:
checkAssociatedCategoryExistsin interfaceDataDrivenEnumDetailsService- Parameters:
dataDrivenEnumDetails-DataDrivenEnumDetailsto check the associated category forcontextInfo- context information surrounding sandboxing/multitenant state
-
buildExpectedCategoryUrl
Builds a category URL that is expected for the givenDataDrivenEnumDetails.For example, if
DataDrivenEnumDetails.getValue()isSOME_BRAND_NAME, the expected category url for thisDataDrivenEnumDetailswould be/some-brand-name.- Parameters:
dataDrivenEnumDetails-DataDrivenEnumDetailsto build the expected category url for- Returns:
- expected category url for the given
DataDrivenEnumDetails
-
getCategoryUrlPrefix
-
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() -
getDataDrivenEnumService
-
getCategoryService
-