Package nl.vpro.domain.media
Interface Media<T extends Media<T>>
- All Superinterfaces:
Embargo
,Identifiable<Long>
,LocalizedObject<Title,
,Description, Website, TwitterRef, T> MediaIdentifiable
,MidIdentifiable
,MutableEmbargo<T>
,NicamRated
,TextualObject<Title,
,Description, T> TextualObjectUpdate<Title,
,Description, T> Trackable
,TrackableMedia
,TrackableObject
- All Known Implementing Classes:
Group
,MediaObject
,Program
,Segment
@Beta
public interface Media<T extends Media<T>>
extends NicamRated, LocalizedObject<Title,Description,Website,TwitterRef,T>, TrackableMedia, MediaIdentifiable, MutableEmbargo<T>, Identifiable<Long>, TrackableObject
This interface extends most of the interfaces that
MediaObject
itself used to implement.
This shouldn't make a difference for now, and it is experimental to see whether is convenient to program against
this interface rather than against MediaObject
itself.
Some considerations:
This interface makes the object 'mutable'. It may be useful to have a two-step extension mechanisms 'MutableMedia extends Media'. E.g. a consumer of the frontend api is not interested in mutability.
- Since:
- 5.13
- Author:
- Michiel Meeuwissen
-
Nested Class Summary
Nested classes/interfaces inherited from interface nl.vpro.domain.media.MediaIdentifiable
MediaIdentifiable.Correlation
-
Field Summary
Fields inherited from interface nl.vpro.domain.TextualObject
DEFAULT_OWNER
-
Method Summary
Methods inherited from interface nl.vpro.domain.Embargo
asRange, getPublishStartInstant, getPublishStopInstant, inPublicationWindow, inPublicationWindow, isUnderEmbargo, isUnderEmbargo, wasUnderEmbargo, wasUnderEmbargo, willBePublished, willBePublished, willBeUnderEmbargo, willBeUnderEmbargo
Methods inherited from interface nl.vpro.domain.LocalizedObject
addTag, addTwitterRef, addWebsite, addWebsite, findWebsite, findWebsite, getMainWebsite, getTags, getTwitterRefs, getWebsite, getWebsites, removeTag, removeWebsite, removeWebsite, setTags, setTwitterRefs, setWebsites
Methods inherited from interface nl.vpro.domain.media.MediaIdentifiable
getCorrelation, getCorrelationId, getCrids, getId, getMainIdentifier
Methods inherited from interface nl.vpro.domain.media.MidIdentifiable
getMediaType, getMid
Methods inherited from interface nl.vpro.domain.MutableEmbargo
set, setPublishStartInstant, setPublishStopInstant
Methods inherited from interface nl.vpro.nicam.NicamRated
getAgeRating, getContentRatings, isNicamRated
Methods inherited from interface nl.vpro.domain.TextualObject
addDescription, addDescription, addTitle, addTitle, findDescription, findTitle, getDescriptionCreator, getOwnedDescriptionCreator, getOwnedTitleCreator, getTitleCreator, removeDescription, removeDescriptionsForOwner, removeTitle, removeTitlesForOwner, setDescription, setTitle
Methods inherited from interface nl.vpro.domain.TextualObjectUpdate
addDescription, addTitle, findDescription, findTitle, getAbbreviatedTitle, getDescriptions, getLanguage, getLexicoTitle, getLongDescription, getMainDescription, getMainTitle, getOriginalTitle, getShortDescription, getShortTitle, getSubDescription, getSubTitle, getTitles, getWorkTitle, hasDescriptions, hasTitles, removeDescription, removeDescription, removeTitle, self, setDescription, setDescription, setDescriptions, setLongDescription, setMainDescription, setMainTitle, setTitle, setTitle, setTitles
Methods inherited from interface nl.vpro.domain.Trackable
getCreationInstant, getLastModifiedInstant
Methods inherited from interface nl.vpro.domain.media.TrackableObject
getParent, getWorkflow, isConsiderableForPublication, isMerged, isPublishable, isPublishable, isRevocable