Class IncrementalDataFeedEntityUpdateRecord
java.lang.Object
com.broadleafcommerce.datafeed.domain.IncrementalDataFeedEntityUpdateRecord
- All Implemented Interfaces:
com.broadleafcommerce.data.tracking.core.ContextStateAware,Serializable
public class IncrementalDataFeedEntityUpdateRecord
extends Object
implements Serializable, com.broadleafcommerce.data.tracking.core.ContextStateAware
For each
IncrementalDataFeedEntityUpdateEvent that is received, an
IncrementalDataFeedEntityUpdateRecord record will be created for each
DataFeedProcess of type DefaultDataFeedProcessTypes.PARTIAL_UPDATE who may be
interested in processing it. This means each DataFeedProcess will effectively
have its own 'queue' of update events that it can process whenever it is executed.
Generally speaking, the expectation is for the DataFeedProcess to be executed at some
regular interval and handle any queued IncrementalDataFeedEntityUpdateRecords in bulk.
Admin users should almost never be responsible for making direct CRUD requests on this entity. The system should be in charge of managing these records.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanShould contain a value fromDefaultIncrementalEventProductReferenceTypesdescribing the type of product reference ingetAffectedProductReferenceValue().The reference key value of the product affected by this entity update event record.com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextStateA subset ofTrackinginformation to expose the context state for this object.This will benulluntil aDataFeedProcessExecutionis started for the parentgetDataFeedProcessId()and this event record is marked as part of that execution.TheDataFeedProcess.getId()of theDataFeedProcesswhich this event record was created for.The timestamp when the entity update notification message was actually received by data feed services.getId()The context ID of this event record.Notification events from other services should include timestamps describing when the actual update occurred, and we record it here.inthashCode()voidsetAffectedProductReferenceType(String affectedProductReferenceType) Should contain a value fromDefaultIncrementalEventProductReferenceTypesdescribing the type of product reference ingetAffectedProductReferenceValue().voidsetAffectedProductReferenceValue(String affectedProductReferenceValue) The reference key value of the product affected by this entity update event record.voidsetContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState) A subset ofTrackinginformation to expose the context state for this object.voidsetDataFeedProcessExecutionId(String dataFeedProcessExecutionId) This will benulluntil aDataFeedProcessExecutionis started for the parentgetDataFeedProcessId()and this event record is marked as part of that execution.voidsetDataFeedProcessId(String dataFeedProcessId) TheDataFeedProcess.getId()of theDataFeedProcesswhich this event record was created for.voidsetEventReceivedTime(Instant eventReceivedTime) The timestamp when the entity update notification message was actually received by data feed services.voidThe context ID of this event record.voidsetOriginalEventTime(Instant originalEventTime) Notification events from other services should include timestamps describing when the actual update occurred, and we record it here.toString()
-
Constructor Details
-
IncrementalDataFeedEntityUpdateRecord
public IncrementalDataFeedEntityUpdateRecord()
-
-
Method Details
-
getId
The context ID of this event record.- Returns:
- the id of this event record
-
getDataFeedProcessId
TheDataFeedProcess.getId()of theDataFeedProcesswhich this event record was created for.- Returns:
- the ID of the data feed process this event record is for
-
getDataFeedProcessExecutionId
This will benulluntil aDataFeedProcessExecutionis started for the parentgetDataFeedProcessId()and this event record is marked as part of that execution.- Returns:
- the
DataFeedProcessExecution.getId()of the execution that is processing this event record, elsenullif this event record is still pending processing
-
getAffectedProductReferenceType
Should contain a value fromDefaultIncrementalEventProductReferenceTypesdescribing the type of product reference ingetAffectedProductReferenceValue().Different services may use different mechanisms to reference products, which is why this is necessary.
- Returns:
- the type of product reference in
getAffectedProductReferenceValue() - See Also:
-
getAffectedProductReferenceValue
The reference key value of the product affected by this entity update event record.- Returns:
- the reference key value of the product affected by this entity update event record
- See Also:
-
getOriginalEventTime
Notification events from other services should include timestamps describing when the actual update occurred, and we record it here.- Returns:
- the timestamp describing when the actual update event occurred
- See Also:
-
getEventReceivedTime
The timestamp when the entity update notification message was actually received by data feed services.- Returns:
- the timestamp when the entity update notification message was actually received by data feed services
-
getContextState
public com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState getContextState()A subset ofTrackinginformation to expose the context state for this object.- Specified by:
getContextStatein interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware- Returns:
- a subset of
Trackinginformation to expose the context state for this object
-
setId
The context ID of this event record.- Parameters:
id- the id of this event record
-
setDataFeedProcessId
TheDataFeedProcess.getId()of theDataFeedProcesswhich this event record was created for.- Parameters:
dataFeedProcessId- the ID of the data feed process this event record is for
-
setDataFeedProcessExecutionId
This will benulluntil aDataFeedProcessExecutionis started for the parentgetDataFeedProcessId()and this event record is marked as part of that execution.- Parameters:
dataFeedProcessExecutionId- theDataFeedProcessExecution.getId()of the execution that is processing this event record, elsenullif this event record is still pending processing
-
setAffectedProductReferenceType
Should contain a value fromDefaultIncrementalEventProductReferenceTypesdescribing the type of product reference ingetAffectedProductReferenceValue().Different services may use different mechanisms to reference products, which is why this is necessary.
- Parameters:
affectedProductReferenceType- the type of product reference ingetAffectedProductReferenceValue()- See Also:
-
setAffectedProductReferenceValue
The reference key value of the product affected by this entity update event record.- Parameters:
affectedProductReferenceValue- the reference key value of the product affected by this entity update event record- See Also:
-
setOriginalEventTime
Notification events from other services should include timestamps describing when the actual update occurred, and we record it here.- Parameters:
originalEventTime- the timestamp describing when the actual update event occurred- See Also:
-
setEventReceivedTime
The timestamp when the entity update notification message was actually received by data feed services.- Parameters:
eventReceivedTime- the timestamp when the entity update notification message was actually received by data feed services
-
setContextState
public void setContextState(com.broadleafcommerce.data.tracking.core.filtering.business.domain.ContextState contextState) A subset ofTrackinginformation to expose the context state for this object.- Specified by:
setContextStatein interfacecom.broadleafcommerce.data.tracking.core.ContextStateAware- Parameters:
contextState- a subset ofTrackinginformation to expose the context state for this object
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-