Interface TrackableObject

All Superinterfaces:
Embargo, Trackable
All Known Subinterfaces:
Media<T>, TrackableMedia
All Known Implementing Classes:
Group, Image, Location, MediaListItem, MediaObject, Program, PublishableObject, Segment

public interface TrackableObject extends Trackable, Embargo
A trackable object has also Embargo, and getWorkflow()
Since:
5.11
Author:
Michiel Meeuwissen
  • Method Details

    • getWorkflow

      Workflow getWorkflow()
    • isPublishable

      default boolean isPublishable(Instant now)
      Whether this object could be publicly visible in the API.

      This returns false if the workflow explictely indicates that it is not (like 'DELETED', 'MERGED') and otherwise it depends on Embargo.inPublicationWindow(Instant)

    • isPublishable

      default boolean isPublishable()
      Specified by:
      isPublishable in interface Embargo
    • isRevocable

      default boolean isRevocable(Instant now)
    • isMerged

      default boolean isMerged()
      If the sub class supports being merged, this can be overriden.
    • getParent

      default TrackableObject getParent()
      Implementations can optionally become child of a trackable parent where the parents track-ability decides on this child's track-ability.
      Returns:
      a trackable parent, null when a parent is not set or no parent-child relation exists
      See Also: