Class MediaObject

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
Direct Known Subclasses:
Group, Program, Segment

@Entity public abstract class MediaObject extends PublishableObject<MediaObject> implements Media<MediaObject>
Base objects for programs, groups and segments.

Media objects are the most central objects of POMS. A media object represents one document of meta-information, with all titles, descriptions, tags and all other fields that are associated with 'media' in general.

Also Groups are an extension, which implies e.g. that things like a GroupType.PLAYLIST may themselves have similar meta data, though they basicly represent groups of other MediaObjects, and are not themselves associated with actual audio or video.

But also Programs themselves can function as a group and therefor have 'members' (e.g. such a member may be a ProgramType.PROMO).

Segments are a special kind of members of only Programs, and represent a 'segment' from a larger 'program' only.

The purpose of a mediaobject is

  1. Be a full representation of meta data related to one entity
  2. Be also its database representation. Therefore e.g. javax.persistence annotations are present. These are optional, and are probably only relevant in the realm of 'poms backend application'
  3. Be also the XML/Json representation of most of this data. For a few fields it doesn't make sense to be exposed in that way, like for example the Editors of Accountable. For this the object is annoated with some annotation from javax.xml and com.fasterxml.jackson
  4. The JSON version is basically also the representation used in Elasticsearch (only with Views.Publisher enabled)
Author:
roekoe
See Also: