Interface DataFeedInspection<R extends com.broadleafcommerce.data.tracking.core.Trackable>
- Type Parameters:
R- The base domain type this inspection covers
- All Superinterfaces:
org.springframework.core.Ordered
- All Known Implementing Classes:
AbstractDataFeedInspection
public interface DataFeedInspection<R extends com.broadleafcommerce.data.tracking.core.Trackable>
extends org.springframework.core.Ordered
Represents a component capable of determining if a candidate is valid for data feeds, and if so,
providing the identifiers required for notifying the data feed service for processing.
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Method Summary
Modifier and TypeMethodDescriptiongetDataFeedEntityUpdateEvent(com.broadleafcommerce.data.tracking.core.Trackable domain, com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Factory method for creating a data feed event for a qualified production entity mutation.As part of the durable message send, the component will persist a durable state for the message.default intgetOrder()Inspections are ordered (default 0).booleanisMonitored(com.broadleafcommerce.data.tracking.core.Trackable t) Detect whether or not this inspection handles the passed type.booleanisRelevant(com.broadleafcommerce.data.tracking.core.Trackable t) Determine if the candidate is relevant for datafeed processing.
-
Method Details
-
isMonitored
boolean isMonitored(com.broadleafcommerce.data.tracking.core.Trackable t) Detect whether or not this inspection handles the passed type. Note, the inspection should be able to handle extensions of the registered base type.- Parameters:
t- The candidate entity to test- Returns:
- Whether or not this inspection should handle
-
getOrder
default int getOrder()Inspections are ordered (default 0). Lesser values take higher precedence. The first inspection to pass theisMonitored(Trackable)check is used.- Specified by:
getOrderin interfaceorg.springframework.core.Ordered- Returns:
- The order of this inspection amount all the inspection beans found in the spring application context
-
isRelevant
boolean isRelevant(com.broadleafcommerce.data.tracking.core.Trackable t) Determine if the candidate is relevant for datafeed processing. Note, not all mutations should inform datafeed processing.- Parameters:
t- The candidate entity to test- Returns:
- Whether or not this inspection should handle
-
getDataFeedEntityUpdateEvent
Optional<Object> getDataFeedEntityUpdateEvent(com.broadleafcommerce.data.tracking.core.Trackable domain, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo context) Factory method for creating a data feed event for a qualified production entity mutation.- Parameters:
domain- The candidate entity that was mutatedcontext- The request context information available at the time of mutation. May be null.- Returns:
- The populated message payload to send.
-
getDataRoute
String getDataRoute()As part of the durable message send, the component will persist a durable state for the message. This route lets that component know which data route should be used to persist that state.- Returns:
- Data route key denoting which service bounded context datasource should be used
-