Package nl.vpro.domain.media
Class Program
- All Implemented Interfaces:
Serializable
,Accountable
,Changeable
,Embargo
,Identifiable<Long>
,LocalizedObject<Title,
,Description, Website, TwitterRef, MediaObject> Media<MediaObject>
,MediaIdentifiable
,MidIdentifiable
,TrackableMedia
,TrackableObject
,MutableEmbargo<MediaObject>
,MutableEmbargoDeprecated<MediaObject>
,Publishable<MediaObject>
,TextualObject<Title,
,Description, MediaObject> TextualObjectUpdate<Title,
,Description, MediaObject> Trackable
,NicamRated
The main feature that distinguishes a Program from a generic media entity is its ability
to become an episode of other media entities. This association type is a functional
equivalent of the memberOf association, but complementary, and has its own representation
in XML or JSON.
A program can have a
ProgramType
when it's a movie or strand
program. A strand programs has the ability to become an episode of other strand programs
as opposed to strand groups.
Another important distinction is that only programs may contain Segment
s. Also, they themselves know of their segments,
and the XML and JSON representations on programs normally contain all their segments too.
- Author:
- roekoe
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface nl.vpro.domain.media.MediaIdentifiable
MediaIdentifiable.Correlation
-
Field Summary
Fields inherited from class nl.vpro.domain.media.MediaObject
ageRating, avAttributes, avType, awards, broadcasters, contentRatings, countries, credits, crids, DELETED_FILTER, descriptions, duration, email, EMBARGO_FILTER, genres, geoLocations, geoRestrictions, images, intentions, INVERSE_DELETED_FILTER, INVERSE_EMBARGO_FILTER, INVERSE_PUBLICATION_FILTER, isDubbed, isEmbeddable, languages, locations, memberOf, mid, ORGANIZATION_FILTER, portalRestrictions, portals, predictions, PUBLICATION_FILTER, relations, releaseYear, repubDate, repubDestinations, repubReason, sortInstant, source, tags, targetGroups, teletext, thirdParties, titles, topics, twitterRefs, version, websites
Fields inherited from class nl.vpro.domain.media.support.PublishableObject
PUBLISH_WORKFLOW, workflow
Fields inherited from class nl.vpro.domain.AbstractPublishableObject
createdBy, creationInstant, lastModified, lastModifiedBy, lastPublished, publishStart, publishStop
Fields inherited from class nl.vpro.domain.DomainObject
id
Fields inherited from interface nl.vpro.domain.TextualObject
DEFAULT_OWNER
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddSegment
(Segment segment) static MediaBuilder.ProgramBuilder
builder()
static Program
boolean
deleteSegment
(Segment segment) protected void
findAncestry
(MediaObject ancestor, List<MediaObject> ancestors) findEpisodeOf
(Long episodeRefId) findEpisodeOfRef
(long refId) findEpisodeOfRef
(MediaObject owner) findEpisodeOfRef
(MediaObject owner, Integer number) findSegment
(Long id) getType()
protected String
boolean
hasAncestor
(MediaObject ancestor) boolean
boolean
boolean
isEpisodeOf
(MediaObject owner) void
setEpisodeOf
(SortedSet<MemberRef> episodeOf) void
setMediaType
(MediaType type) void
setPoProgTypeLegacy
(String poProgType) void
setScheduleEvents
(SortedSet<ScheduleEvent> scheduleEvents) void
setSegments
(SortedSet<Segment> segments) void
setType
(ProgramType type) Methods inherited from class nl.vpro.domain.media.MediaObject
addAllImages, addAward, addBroadcaster, addContentRating, addCountry, addCountry, addCountry, addCrid, addDescription, addDescription, addEmail, addEmail, addGenre, addGeoRestriction, addImage, addImage, addLanguage, addLocation, addName, addPerson, addPortal, addPortalRestriction, addRelation, addThirdParty, addTitle, addTitle, calcCorrelation, calcCRC32, clearPortals, clearThirdParties, equals, findAncestry, findCredit, findGeoRestriction, findImage, findImage, findImage, findImages, findLocation, findLocation, findLocation, findMemberOfRef, findMemberOfRef, findMemberOfRef, findName, findOrCreatePrediction, findOrCreatePrediction, findPerson, findPerson, findPortalRestriction, findRelation, findRelation, get_Locations, get_Relations, getAbbreviatedTitle, getAgeRating, getAncestors, getAuthority, getAvailableSubtitles, getAvAttributes, getAVType, getAwards, getBroadcasters, getContentRatings, getCorrelation, getCountries, getCredits, getCrids, getDescendantOf, getDescriptions, getDuration, getEmail, getExpandedGeoLocations, getExpandedIntentions, getExpandedTargetGroups, getExpandedTitles, getExpandedTopics, getGenres, getGeoLocations, getGeoRestrictions, getImage, getImage, getImage, getImages, getIntentions, getJsonCredits, getLanguages, getLexicoTitle, getLocation, getLocations, getMainBroadcaster, getMainDescription, getMainEmail, getMainImage, getMainTitle, getMediaType, getMemberOf, getMergedTo, getMergedToRef, getMid, getModifiableStreamingPlatformStatus, getOriginalTitle, getOwnedDescriptionCreator, getOwnedTitleCreator, getPersons, getPortalRestrictions, getPortals, getPrediction, getPredictions, getPredictionsForXml, getPresentationOrderLocations, getRelations, getReleaseYear, getRepubDestinations, getRepubReason, getShortDescription, getShortTitle, getSortDate, getSortInstant, getSource, getStreamingPlatformStatus, getSubDescription, getSubTitle, getTags, getTargetGroups, getTeletext, getThirdParties, getTitles, getTopics, getTwitterRefs, getVersion, getWebsites, getWorkTitle, giveCredits, hasAuthorizedDuration, hasDescendant, hasDescriptions, hasEpisode, hashCode, hasInternetVodAuthority, hasMember, hasSubtitles, hasTitles, invalidateSortDate, isDubbed, isEmbeddable, isHasSubtitles, isLocationAuthorityUpdate, isMember, isMemberOf, isMemberOf, isMerged, mergeImages, removeBroadcaster, removeCrid, removeDescription, removeGeoRestriction, removeImage, removeImage, removeImages, removeLocation, removeLocation, removeName, removePerson, removePerson, removePortal, removePortalRestriction, removePrediction, removeRelation, removeThirdParty, removeTitle, revokeLocations, serializeForCalcCRC32, set_Locations, set_Relations, setAgeRating, setAvailableSubtitles, setAvAttributes, setAVType, setAwards, setBroadcasters, setContentRatings, setCountries, setCreationInstant, setCredits, setCrids, setDescriptions, setDuration, setEmail, setEmbeddable, setGenres, setGeoLocations, setGeoRestrictions, setHasSubtitles, setImages, setIntentions, setIsDubbed, setJsonCredits, setLanguages, setLocationAuthorityUpdate, setLocations, setMemberOf, setMergedTo, setMergedToRef, setMid, setPersons, setPortalRestrictions, setPortals, setPredictions, setPredictionsForXml, setPublishStartInstant, setPublishStopInstant, setRelations, setReleaseYear, setRepubDestinations, setRepubReason, setSource, setTags, setTargetGroups, setTeletext, setTitles, setTopics, setTwitterRefs, setWebsites, setWorkflow, toString
Methods inherited from class nl.vpro.domain.media.support.PublishableObject
acceptChanges, beforeUnmarshal, getHash, getWorkflow, hasChanges, isActivation, isDeactivation, isDeleted
Methods inherited from class nl.vpro.domain.AbstractPublishableObject
getCreatedBy, getCreationInstant, getLastModifiedBy, getLastModifiedInstant, getLastPublishedInstant, getPublishStartInstant, getPublishStopInstant, getUrn, setCreatedBy, setLastModifiedBy, setLastModifiedInstant, setLastPublishedInstant, setUrn
Methods inherited from class nl.vpro.domain.DomainObject
getId, isPersisted, setId
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
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, getWebsite, removeTag, removeWebsite, removeWebsite
Methods inherited from interface nl.vpro.domain.media.MediaIdentifiable
getCorrelationId, getId, getMainIdentifier
Methods inherited from interface nl.vpro.domain.MutableEmbargo
set
Methods inherited from interface nl.vpro.domain.MutableEmbargoDeprecated
getPublishStart, getPublishStop, setPublishStart, setPublishStop
Methods inherited from interface nl.vpro.nicam.NicamRated
isNicamRated
Methods inherited from interface nl.vpro.domain.TextualObject
addDescription, addTitle, findDescription, findTitle, getDescriptionCreator, getTitleCreator, removeDescription, removeDescriptionsForOwner, removeTitle, removeTitlesForOwner, setDescription, setTitle
Methods inherited from interface nl.vpro.domain.TextualObjectUpdate
findDescription, findTitle, getLanguage, getLongDescription, removeDescription, self, setDescription, setDescription, setLongDescription, setMainDescription, setMainTitle, setTitle, setTitle
Methods inherited from interface nl.vpro.domain.Trackable
getCreationInstant, getLastModifiedInstant
Methods inherited from interface nl.vpro.domain.media.TrackableObject
getParent, getWorkflow, isConsiderableForPublication, isPublishable, isPublishable, isRevocable
-
Constructor Details
-
Program
public Program() -
Program
-
Program
-
Program
public Program(long id) -
Program
-
Program
-
-
Method Details
-
builder
-
copy
-
hasScheduleEvents
public boolean hasScheduleEvents() -
getScheduleEvents
-
setScheduleEvents
-
isEpisodeOfLocked
-
getVirtualMemberRefs
- Overrides:
getVirtualMemberRefs
in classMediaObject
-
getEpisodeOf
-
setEpisodeOf
-
findEpisodeOfRef
-
findEpisodeOfRef
-
findEpisodeOfRef
-
findEpisodeOf
-
isEpisode
public boolean isEpisode() -
isEpisodeOf
-
hasAncestor
- Overrides:
hasAncestor
in classMediaObject
-
findAncestry
- Overrides:
findAncestry
in classMediaObject
-
getPoProgType
-
getPoProgTypeLegacy
-
setPoProgTypeLegacy
-
getType
- Specified by:
getType
in classMediaObject
-
setMediaType
- Specified by:
setMediaType
in classMediaObject
-
setType
-
getSegments
-
setSegments
-
findSegment
-
addSegment
-
deleteSegment
-
getUrnPrefix
- Specified by:
getUrnPrefix
in classMediaObject
-