Package org.silverpeas.components.gallery.model

# Class Media

java.lang.Object
org.silverpeas.components.gallery.model.Media

All Implemented Interfaces:
  `Serializable`, `org.silverpeas.core.contribution.model.Contribution`, `org.silverpeas.core.contribution.model.SilverpeasContent`, `org.silverpeas.core.contribution.model.WithPermanentLink`, `org.silverpeas.core.contribution.model.WithURL`, `org.silverpeas.core.Identifiable`, `org.silverpeas.core.Instance<org.silverpeas.core.contribution.model.Contribution>`, `org.silverpeas.core.Nameable`, `org.silverpeas.core.security.Securable`, `org.silverpeas.core.SilverpeasResource`

Direct Known Subclasses:
  `InternalMedia`, `Streaming`

public abstract class Media extends Object implements org.silverpeas.core.contribution.model.SilverpeasContent, Serializable, org.silverpeas.core.contribution.model.WithPermanentLink, org.silverpeas.core.contribution.model.WithURL
This class represents a Media and provides all the common data.

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final org.silverpeas.core.process.io.file.FileBasePath`
  `BASE_PATH`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Media()`
  `protected`
  `Media(Media other)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addToAlbums(String... albumIds)`
  Adds the current media to the album represented by specified identifiers.
  `boolean`
  `canBeAccessedBy(org.silverpeas.core.admin.user.model.User user)`
  `boolean`
  `equals(Object o)`
  `String`
  `getApplicationEmbedUrl(MediaResolution mediaResolution)`
  Gets the Application URL thumbnail of the media according the specified media resolution.
  `String`
  `getApplicationOriginalUrl()`
  Gets the original URL of a media with cache handling.
  `String`
  `getApplicationThumbnailUrl(MediaResolution mediaResolution)`
  Gets the Application URL thumbnail of the media according the specified media resolution.
  `String`
  `getAuthor()`
  `String`
  `getComponentInstanceId()`
  `String`
  `getContributionType()`
  `abstract Media`
  `getCopy()`
  Creates a copy of the instance.
  `Date`
  `getCreationDate()`
  `org.silverpeas.core.admin.user.model.User`
  `getCreator()`
  `String`
  `getCreatorId()`
  `String`
  `getCreatorName()`
  `String`
  `getDescription()`
  `org.silverpeas.core.io.file.SilverpeasFile`
  `getFile(MediaResolution mediaResolution)`
  Gets the Silverpeas file.
  `abstract org.silverpeas.core.io.file.SilverpeasFile`
  `getFile(MediaResolution mediaResolution, String size)`
  Gets the Silverpeas file.
  `protected org.silverpeas.core.admin.user.model.SilverpeasRole`
  `getHighestUserRole(org.silverpeas.core.admin.user.model.User user)`
  Retrieve the highest user role
  `String`
  `getId()`
  `String`
  `getInstanceId()`
  `InternalMedia`
  `getInternalMedia()`
  Gets the internal media instance if type of the current media is `MediaType.Photo` or `MediaType.Video` or `MediaType.Sound`.
  `String`
  `getKeyWord()`
  `Date`
  `getLastUpdateDate()`
  `String`
  `getLastUpdatedBy()`
  `org.silverpeas.core.admin.user.model.User`
  `getLastUpdater()`
  `String`
  `getLastUpdaterName()`
  `MediaPK`
  `getMediaPK()`
  `String`
  `getPermalink()`
  Gets the permalink of a media.
  `Photo`
  `getPhoto()`
  Gets the photo instance if type of the current media is `MediaType.Photo`.
  `String`
  `getSilverpeasContentId()`
  `Sound`
  `getSound()`
  Gets the sound instance if type of the current media is `MediaType.Sound`.
  `Streaming`
  `getStreaming()`
  Gets the streaming instance if type of the current media is `MediaType.Streaming`.
  `String`
  `getTitle()`
  `abstract MediaType`
  `getType()`
  `String`
  `getURL()`
  `Video`
  `getVideo()`
  Gets the video instance if type of the current media is `MediaType.Video`.
  `org.silverpeas.core.date.period.Period`
  `getVisibilityPeriod()`
  `String`
  `getWorkspaceSubFolderName()`
  Gets the sub folder name of the media in the Silverpeas workspace.
  `int`
  `hashCode()`
  `boolean`
  `isDownloadable()`
  Indicated if the download is possible.
  `boolean`
  `isPreviewable()`
  Indicates if the media is previewable.
  `boolean`
  `isVisible()`
  `protected boolean`
  `isVisible(Date today)`
  `void`
  `removeFromAllAlbums()`
  Removes the current media from all albums which it is attached to.
  `void`
  `setAuthor(String author)`
  `void`
  `setComponentInstanceId(String instanceId)`
  `void`
  `setCreationDate(Date createDate)`
  `void`
  `setCreator(org.silverpeas.core.admin.user.model.User creator)`
  `void`
  `setCreatorId(String creatorId)`
  `void`
  `setDescription(String description)`
  `void`
  `setId(String mediaId)`
  `void`
  `setKeyWord(String keyWord)`
  `void`
  `setLastUpdateDate(Date lastUpdateDate)`
  `void`
  `setLastUpdatedBy(String lastUpdatedBy)`
  `void`
  `setLastUpdater(org.silverpeas.core.admin.user.model.User lastUpdater)`
  `void`
  `setMediaPK(MediaPK mediaPK)`
  `void`
  `setSilverpeasContentId(String silverpeasContentId)`
  `void`
  `setTitle(String title)`
  `void`
  `setToAlbums(String... albumIds)`
  Sets the current media to the album represented by specified identifiers.
  `void`
  `setVisibilityPeriod(org.silverpeas.core.date.period.Period visibilityPeriod)`
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.silverpeas.core.contribution.model.Contribution

  `getModel, getName, getResourcePath, isIndexable`

  ### Methods inherited from interface org.silverpeas.core.Instance

  `getParent`

  ### Methods inherited from interface org.silverpeas.core.security.Securable

  `canBeDeletedBy, canBeFiledInBy, canBeModifiedBy`

  ### Methods inherited from interface org.silverpeas.core.contribution.model.SilverpeasContent

  `getIdentifier`

- ## Field Details

  - ### BASE_PATH

    public static final org.silverpeas.core.process.io.file.FileBasePath BASE_PATH

- ## Constructor Details

  - ### Media

    protected Media()

  - ### Media

    protected Media(Media other)

- ## Method Details

  - ### getMediaPK

    public MediaPK getMediaPK()

  - ### setMediaPK

    public void setMediaPK(MediaPK mediaPK)

  - ### setId

    public void setId(String mediaId)

  - ### getId

    public String getId()
    Specified by:
      `getId` in interface `org.silverpeas.core.Identifiable`
    Specified by:
      `getId` in interface `org.silverpeas.core.contribution.model.SilverpeasContent`

  - ### setComponentInstanceId

    public void setComponentInstanceId(String instanceId)

  - ### getComponentInstanceId

    public String getComponentInstanceId()
    Specified by:
      `getComponentInstanceId` in interface `org.silverpeas.core.contribution.model.SilverpeasContent`

  - ### getInstanceId

    public String getInstanceId()

  - ### getContributionType

    public String getContributionType()
    Specified by:
      `getContributionType` in interface `org.silverpeas.core.contribution.model.Contribution`

  - ### getType

    public abstract MediaType getType()

  - ### getTitle

    public String getTitle()
    Specified by:
      `getTitle` in interface `org.silverpeas.core.contribution.model.Contribution`

  - ### setTitle

    public void setTitle(String title)

  - ### getDescription

    public String getDescription()
    Specified by:
      `getDescription` in interface `org.silverpeas.core.contribution.model.Contribution`
    Specified by:
      `getDescription` in interface `org.silverpeas.core.Nameable`

  - ### setDescription

    public void setDescription(String description)

  - ### getAuthor

    public String getAuthor()

  - ### setAuthor

    public void setAuthor(String author)

  - ### getKeyWord

    public String getKeyWord()

  - ### setKeyWord

    public void setKeyWord(String keyWord)

  - ### getVisibilityPeriod

    public org.silverpeas.core.date.period.Period getVisibilityPeriod()

  - ### setVisibilityPeriod

    public void setVisibilityPeriod(org.silverpeas.core.date.period.Period visibilityPeriod)

  - ### isVisible

    public boolean isVisible()

  - ### isVisible

    protected boolean isVisible(Date today)

  - ### getCreationDate

    public Date getCreationDate()
    Specified by:
      `getCreationDate` in interface `org.silverpeas.core.SilverpeasResource`

  - ### setCreationDate

    public void setCreationDate(Date createDate)

  - ### getCreator

    public org.silverpeas.core.admin.user.model.User getCreator()
    Specified by:
      `getCreator` in interface `org.silverpeas.core.SilverpeasResource`

  - ### setCreator

    public void setCreator(org.silverpeas.core.admin.user.model.User creator)

  - ### getCreatorId

    public String getCreatorId()

  - ### setCreatorId

    public void setCreatorId(String creatorId)

  - ### getCreatorName

    public String getCreatorName()

  - ### getLastUpdateDate

    public Date getLastUpdateDate()
    Specified by:
      `getLastUpdateDate` in interface `org.silverpeas.core.SilverpeasResource`

  - ### setLastUpdateDate

    public void setLastUpdateDate(Date lastUpdateDate)

  - ### getLastUpdater

    public org.silverpeas.core.admin.user.model.User getLastUpdater()
    Specified by:
      `getLastUpdater` in interface `org.silverpeas.core.SilverpeasResource`

  - ### setLastUpdater

    public void setLastUpdater(org.silverpeas.core.admin.user.model.User lastUpdater)

  - ### getLastUpdatedBy

    public String getLastUpdatedBy()

  - ### setLastUpdatedBy

    public void setLastUpdatedBy(String lastUpdatedBy)

  - ### getLastUpdaterName

    public String getLastUpdaterName()

  - ### canBeAccessedBy

    public boolean canBeAccessedBy(org.silverpeas.core.admin.user.model.User user)
    Specified by:
      `canBeAccessedBy` in interface `org.silverpeas.core.contribution.model.Contribution`
    Specified by:
      `canBeAccessedBy` in interface `org.silverpeas.core.security.Securable`

  - ### getWorkspaceSubFolderName

    public String getWorkspaceSubFolderName()
    Gets the sub folder name of the media in the Silverpeas workspace.
    Returns:
      the sub folder name of the media.

  - ### getPermalink

    public String getPermalink()
    Gets the permalink of a media.
    Specified by:
      `getPermalink` in interface `org.silverpeas.core.contribution.model.WithPermanentLink`
    Returns:
      the permalink string of a media.

  - ### isPreviewable

    public boolean isPreviewable()
    Indicates if the media is previewable.
    Returns:
      true if the media is previewable, false otherwise.

  - ### getApplicationThumbnailUrl

    public String getApplicationThumbnailUrl(MediaResolution mediaResolution)
    Gets the Application URL thumbnail of the media according the specified media resolution.
    Parameters:
      `mediaResolution` - resolution of the media
    Returns:
      the URL of media thumbnail.

  - ### getApplicationEmbedUrl

    public String getApplicationEmbedUrl(MediaResolution mediaResolution)
    Gets the Application URL thumbnail of the media according the specified media resolution.
    Parameters:
      `mediaResolution` - the media resolution
    Returns:
      the URL of media thumbnail.

  - ### getApplicationOriginalUrl

    public String getApplicationOriginalUrl()
    Gets the original URL of a media with cache handling.
    Returns:
      the URL of the media

  - ### getFile

    public org.silverpeas.core.io.file.SilverpeasFile getFile(MediaResolution mediaResolution)
    Gets the Silverpeas file.
    Parameters:
      `mediaResolution` - the aimed resolution.
    Returns:
      a `SilverpeasFile` instance which could represents also a non-existing file.

  - ### getFile

    public abstract org.silverpeas.core.io.file.SilverpeasFile getFile(MediaResolution mediaResolution, String size)
    Gets the Silverpeas file.
    Parameters:
      `mediaResolution` - the aimed resolution.
      `size` - a specific size applied on the aimed resolution, ignored if not defined.
    Returns:
      a `SilverpeasFile` instance which could represents also a non-existing file.

  - ### getSilverpeasContentId

    public String getSilverpeasContentId()
    Specified by:
      `getSilverpeasContentId` in interface `org.silverpeas.core.contribution.model.SilverpeasContent`

  - ### setSilverpeasContentId

    public void setSilverpeasContentId(String silverpeasContentId)

  - ### isDownloadable

    public boolean isDownloadable()
    Indicated if the download is possible.
    Returns:
      true if download is possible, false otherwise.

  - ### getURL

    public String getURL()
    Specified by:
      `getURL` in interface `org.silverpeas.core.contribution.model.WithURL`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### getInternalMedia

    public InternalMedia getInternalMedia()
    Gets the internal media instance if type of the current media is `MediaType.Photo` or `MediaType.Video` or `MediaType.Sound`.
    Returns:
      internal media instance, null if media type is not `MediaType.Photo` or `MediaType.Video` or `MediaType.Sound`.

  - ### getPhoto

    public Photo getPhoto()
    Gets the photo instance if type of the current media is `MediaType.Photo`.
    Returns:
      photo instance, null if media type is not `MediaType.Photo`.

  - ### getVideo

    public Video getVideo()
    Gets the video instance if type of the current media is `MediaType.Video`.
    Returns:
      video instance, null if media type is not `MediaType.Video`.

  - ### getSound

    public Sound getSound()
    Gets the sound instance if type of the current media is `MediaType.Sound`.
    Returns:
      sound instance, null if media type is not `MediaType.Sound`.

  - ### getStreaming

    public Streaming getStreaming()
    Gets the streaming instance if type of the current media is `MediaType.Streaming`.
    Returns:
      streaming instance, null if media type is not `MediaType.Streaming`.

  - ### removeFromAllAlbums

    public void removeFromAllAlbums()
    Removes the current media from all albums which it is attached to.

  - ### addToAlbums

    public void addToAlbums(String... albumIds)
    Adds the current media to the album represented by specified identifiers.
    Parameters:
      `albumIds` - the identifier of albums.

  - ### setToAlbums

    public void setToAlbums(String... albumIds)
    Sets the current media to the album represented by specified identifiers. (all not specified album attachments will be deleted)
    Parameters:
      `albumIds` - the identifier of albums.

  - ### getHighestUserRole

    protected org.silverpeas.core.admin.user.model.SilverpeasRole getHighestUserRole(org.silverpeas.core.admin.user.model.User user)
    Retrieve the highest user role
    Parameters:
      `user` - the current user detail
    Returns:
      the highest user role

  - ### getCopy

    public abstract Media getCopy()
    Creates a copy of the instance.
    Returns:
      the new instance.