Interface Trackable

All Superinterfaces:
com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, Serializable
All Known Subinterfaces:
ApplicationTrackable<D>, CatalogTrackable<D>, CustomerContextTrackable<D>, FullTrackable<D>, SandboxTrackable<D>, TenantTrackable<D>, TypedTrackable<D>

public interface Trackable extends com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, Serializable
Defines a domain class type that supports tracking information (audit, sandbox and catalog).
Author:
Jeff Fischer
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieve the context id, which is a separate identifier from the database primary key.
    default Optional<String>
    Get the user friendly name for this trackable entity.
    default List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState>
     
    default List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState>
    getNotificationStates(boolean fetch)
     
    Retrieve the tracking information from the entity
    void
    setContextId(String contextId)
    Set the context id, which is a separate identifier from the database primary key.
    default void
    setNotificationStates(List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState> notificationStates)
     
    void
    Set the tracking information from the entity

    Methods inherited from interface com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware

    findNotificationState
  • Method Details

    • getTracking

      @Nullable Tracking getTracking()
      Retrieve the tracking information from the entity
      Returns:
      Tracking information or null if none was supplied
    • setTracking

      void setTracking(@Nullable Tracking tracking)
      Set the tracking information from the entity
      Parameters:
      tracking - Tracking information
    • getContextId

      String getContextId()
      Retrieve the context id, which is a separate identifier from the database primary key. This may be auto generated, or may be explicitly provided upon entity creation. Context ids are generally used by the sandbox related code as part of identifying different sandbox versions of the same item (i.e. they share the same contextId).
      Returns:
      The non-primary key identifier
    • setContextId

      void setContextId(String contextId)
      Set the context id, which is a separate identifier from the database primary key. This is used by the auto-generation logic in CreateSetupDomainMapperMember to set the generated value. Context ids are generally used by the sandbox related code as part of identifying different sandbox versions of the same item (i.e. they share the same contextId).
      Parameters:
      contextId - the non-primary key identifier
    • getDisplay

      default Optional<String> getDisplay()
      Get the user friendly name for this trackable entity. Useful when displaying change details to a user. This should be extended for any trackable extended class that has a corresponding field that identifies a specific entity for a user, such as a name field.
      Returns:
      user friendly display name
    • getNotificationStates

      default List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState> getNotificationStates()
      Specified by:
      getNotificationStates in interface com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware
    • getNotificationStates

      default List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState> getNotificationStates(boolean fetch)
      Specified by:
      getNotificationStates in interface com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware
    • setNotificationStates

      default void setNotificationStates(List<com.broadleafcommerce.common.messaging.notification.domain.NotificationState> notificationStates)
      Specified by:
      setNotificationStates in interface com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware