Class AbstractAncillaryProductSingleIndexRequestMessageBuilder<D extends com.broadleafcommerce.data.tracking.core.search.Indexable>

java.lang.Object
com.broadleafcommerce.catalog.provider.shared.messaging.search.AbstractAncillaryProductSingleIndexRequestMessageBuilder<D>
Type Parameters:
D - the indexable persisted-domain counterpart of the entity related to Product
All Implemented Interfaces:
com.broadleafcommerce.common.extension.data.DataRoutePartitionAware, com.broadleafcommerce.data.tracking.core.messaging.search.SingleIndexRequestMessageBuilder
Direct Known Subclasses:
JpaCategoryProductSingleIndexRequestMessageBuilder, JpaProductAssetSingleIndexRequestMessageBuilder, JpaProductTagSingleIndexRequestMessageBuilder, JpaPromotionalProductSingleIndexRequestMessageBuilder, JpaTranslationSingleIndexRequestMessageBuilder, JpaVariantSingleIndexRequestMessageBuilder

public abstract class AbstractAncillaryProductSingleIndexRequestMessageBuilder<D extends com.broadleafcommerce.data.tracking.core.search.Indexable> extends Object implements com.broadleafcommerce.data.tracking.core.messaging.search.SingleIndexRequestMessageBuilder
A common base for SingleIndexRequestMessageBuilder implementations specifically for persisted-domain counterparts of entities related to Product that need to trigger a reindex of a product.

This is not meant to be used for changes to products themselves. For that, see AbstractProductSingleIndexRequestMessageBuilder.

Author:
Samarth Dhruva (samarthd)
See Also:
  • Constructor Details

    • AbstractAncillaryProductSingleIndexRequestMessageBuilder

      public AbstractAncillaryProductSingleIndexRequestMessageBuilder()
  • Method Details

    • canBuild

      public boolean canBuild(@NonNull @NonNull com.broadleafcommerce.data.tracking.core.search.Indexable entity)
      Specified by:
      canBuild in interface com.broadleafcommerce.data.tracking.core.messaging.search.SingleIndexRequestMessageBuilder
    • isAssignableToSupportedType

      protected boolean isAssignableToSupportedType(Object entity)
    • getSupportedPersistedType

      protected abstract Class<D> getSupportedPersistedType()
    • build

      public com.broadleafcommerce.data.tracking.core.messaging.search.domain.SingleIndexRequest<com.broadleafcommerce.data.tracking.core.Identifiable> build(com.broadleafcommerce.data.tracking.core.search.Indexable entity)
      Specified by:
      build in interface com.broadleafcommerce.data.tracking.core.messaging.search.SingleIndexRequestMessageBuilder
    • buildPayload

      protected abstract AncillaryProductSingleIndexRequestPayload buildPayload(D entity)
    • getDataRoutePartition

      public String getDataRoutePartition()
      Specified by:
      getDataRoutePartition in interface com.broadleafcommerce.common.extension.data.DataRoutePartitionAware