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
@Entity public class Program extends MediaObject
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 aProgramType
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 containSegment
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:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface nl.vpro.domain.media.MediaIdentifiable
MediaIdentifiable.Correlation
-
-
Field Summary
Fields Modifier and Type Field Description protected Set<MemberRef>
episodeOf
protected @Size(max=255) @Size(min=1) String
poProgType
protected @Valid Set<@NotNull ScheduleEvent>
scheduleEvents
protected @NotNull(message="no program type given") ProgramType
type
-
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, 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
-
-
Method Summary
-
Methods inherited from class nl.vpro.domain.media.MediaObject
addAllImages, addAward, addBroadcaster, addContentRating, addCountry, addCountry, addCountry, addCrid, addDescription, addDescription, 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, isPublishable, isPublishable, isRevocable
-
-
-
-
Field Detail
-
scheduleEvents
@Valid protected @Valid Set<@NotNull ScheduleEvent> scheduleEvents
-
poProgType
@Size(max=255) @Size(min=1) protected @Size(max=255) @Size(min=1) String poProgType
-
type
@NotNull(message="no program type given") protected @NotNull(message="no program type given") ProgramType type
-
-
Constructor Detail
-
Program
public Program()
-
Program
public Program(long id)
-
Program
public Program(AVType avType, ProgramType type)
-
Program
public Program(Program source)
-
-
Method Detail
-
builder
public static MediaBuilder.ProgramBuilder builder()
-
hasScheduleEvents
public boolean hasScheduleEvents()
-
getScheduleEvents
public SortedSet<ScheduleEvent> getScheduleEvents()
-
setScheduleEvents
public void setScheduleEvents(SortedSet<ScheduleEvent> scheduleEvents)
-
isEpisodeOfLocked
public Boolean isEpisodeOfLocked()
-
getVirtualMemberRefs
protected Set<MemberRef> getVirtualMemberRefs()
- Overrides:
getVirtualMemberRefs
in classMediaObject
-
findEpisodeOfRef
public MemberRef findEpisodeOfRef(long refId)
-
findEpisodeOfRef
public MemberRef findEpisodeOfRef(MediaObject owner)
-
findEpisodeOfRef
public MemberRef findEpisodeOfRef(MediaObject owner, Integer number)
-
isEpisode
public boolean isEpisode()
-
isEpisodeOf
public boolean isEpisodeOf(MediaObject owner)
-
hasAncestor
public boolean hasAncestor(MediaObject ancestor)
- Overrides:
hasAncestor
in classMediaObject
-
findAncestry
protected void findAncestry(MediaObject ancestor, List<MediaObject> ancestors)
- Overrides:
findAncestry
in classMediaObject
-
getPoProgType
public String getPoProgType()
-
getPoProgTypeLegacy
public String getPoProgTypeLegacy()
-
setPoProgTypeLegacy
public void setPoProgTypeLegacy(String poProgType)
-
getType
public ProgramType getType()
- Specified by:
getType
in classMediaObject
-
setMediaType
public void setMediaType(MediaType type)
- Specified by:
setMediaType
in classMediaObject
-
setType
public void setType(ProgramType type)
-
deleteSegment
public boolean deleteSegment(Segment segment)
-
getUrnPrefix
protected String getUrnPrefix()
- Specified by:
getUrnPrefix
in classMediaObject
-
-