All Superinterfaces:
com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, Serializable
All Known Subinterfaces:
ApplicationTracking, CatalogTracking, CustomerContextTracking, FullTracking, SandboxTracking, TenantTracking

public interface Tracking extends com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, Serializable
Holds information related to audit, sandboxing, multitenancy and archival state (soft delete)
Author:
Jeff Fischer
  • Method Details

    • getChangeDetails

      List<ChangeDetail> getChangeDetails()
      Audit information regarding changes made to realize the current entity state
      Returns:
      Audit information regarding changes
    • getFieldOverrides

      List<FieldOverride> getFieldOverrides()
      The fields that have been overridden in this item in the current catalog (based on a parent catalog). This only applies to catalog discriminated items in a catalog hierarchy.
      Returns:
      The fields that have been overridden in this item
    • getSandbox

      SandboxInfo getSandbox()
      Sandbox state information
      Returns:
      Sandbox state information
    • getCatalog

      CatalogInfo getCatalog()
      Multitenancy information related to catalog state
      Returns:
      Multitenancy information related to catalog
    • getApplication

      ApplicationInfo getApplication()
      Multitenancy information related to application state
      Returns:
      Multitenancy information related to application
    • getTenant

      String getTenant()
      The ID of the associated tenant
      Returns:
      ID of the associated tenant
    • getCustomerContextId

      default String getCustomerContextId()
      Returns the customer context id that is used to discriminate entities with TrackableBehavior.CUSTOMER_CONTEXT.
      Returns:
      the customer context id
    • setCustomerContextId

      default void setCustomerContextId(String customerContextId)
      Sets the customer context id that is used to discriminate entities with TrackableBehavior.CUSTOMER_CONTEXT.
      Parameters:
      customerContextId - the customer context id
    • getArchived

      Boolean getArchived()
      The archival state. Archived records are generally filtered from fetch results. Records are often archived at this level as a result of a completed delete (i.e. soft delete).
      Returns:
      The archival state
    • getLevel

      Integer getLevel()
      Used to determine whether or not a record is a user sandbox record, a higher level sandbox record, or a production record. See TrackingLevel
      Returns:
      The current state of an item as it relates to sandbox or production status
    • getCreatingApplicationId

      String getCreatingApplicationId()
      A multitenant concept. When a record is created, this is the id of the application used during the creation.
      Returns:
      The application that was in-context at the time of record creation
    • setChangeDetails

      void setChangeDetails(List<ChangeDetail> changeDetails)
      Audit information regarding changes made to realize the current entity state
      Parameters:
      changeDetails - Audit information regarding changes
    • setFieldOverrides

      void setFieldOverrides(List<FieldOverride> fieldOverrides)
      The fields that have been overridden in this item in the current catalog (based on a parent catalog). This only applies to catalog discriminated items in a catalog hierarchy.
      Parameters:
      fieldOverrides - The fields that have been overridden in this item
    • setSandbox

      void setSandbox(SandboxInfo sandbox)
      Sandbox state information
      Parameters:
      sandbox - Sandbox state information
    • setCatalog

      void setCatalog(CatalogInfo catalog)
      Multitenancy information related to catalog state
      Parameters:
      catalog - Multitenancy information related to catalog
    • setApplication

      void setApplication(ApplicationInfo application)
      Multitenancy information related to application state
      Parameters:
      application - Multitenancy information related to application
    • setTenant

      void setTenant(String tenant)
      The ID of the associated tenant
      Parameters:
      tenant - ID of the associated tenant
    • setArchived

      void setArchived(Boolean archived)
      The archival state. Archived records are generally filtered from fetch results. Records are often archived at this level as a result of a completed delete (i.e. soft delete).
      Parameters:
      archived - The archival state
    • setLevel

      void setLevel(Integer level)
      Used to determine whether or not a record is a user sandbox record, a higher level sandbox record, or a production record. See TrackingLevel
      Parameters:
      level - The current state of an item as it relates to sandbox or production status
    • setCreatingApplicationId

      void setCreatingApplicationId(String creatingApplicationId)
      A multitenant concept. When a record is created, this is the id of the application used during the creation.
      Parameters:
      creatingApplicationId - The application that was in-context at the time of record creation
    • getCurrentMessage

      String getCurrentMessage()
      The last optional message that was applied during a transition (promotion or reversal). Previous messages are available in ChangeDetail.getMessage().
      Returns:
      The last optional message that was applied during a transition
    • setCurrentMessage

      void setCurrentMessage(String currentMessage)
      The last optional message that was applied during a transition (promotion or reversal). Previous messages are available in ChangeDetail.getMessage().
      Parameters:
      currentMessage - The last optional message that was applied during a transition
    • getMaxFieldVersion

      String getMaxFieldVersion(String fieldName)
      Retrieve the max ChangeDetail.getVersion() whose ChangeDetail value is currently being expressed on the entity fieldName.
      Parameters:
      fieldName - The name of the field to check for the currently expressed ChangeDetail value.
      Returns:
      The version of the expressed ChangeDetail, or null if no change for the fieldName is currently applied.
    • setMaxFieldVersion

      void setMaxFieldVersion(String fieldName, String version)
      Set the max ChangeDetail.getVersion() whose ChangeDetail value is currently being expressed on the entity fieldName.
      Parameters:
      fieldName - The name of the field
      version - The ChangeDetail version
    • supportsSandbox

      default boolean supportsSandbox()
    • supportsCatalog

      default boolean supportsCatalog()