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 org.silverpeas.core.process.io.file.FileBasePath` | `BASE_PATH` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Media()` |
    `protected` | `Media​(Media other)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    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 Detail

    - #### BASE_PATH

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

  - ### Constructor Detail

    - #### Media

          protected Media()

    - #### Media

          protected Media​(Media other)

  - ### Method Detail

    - #### 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.