Class MediaManager

    • Field Detail

      • BEAN_NAME

        public static final java.lang.String BEAN_NAME
        Identifier of this manager used at core-spring.xml spring configuration.
        See Also:
        Constant Field Values
      • MEDIAFOLDER

        @Deprecated
        public static final java.lang.String MEDIAFOLDER
        Deprecated.
        since ages - use CoreConstants.TC.MEDIAFOLDER instead
        Constant identifier for MediaFolder type.
      • MEDIACONTAINER

        @Deprecated
        public static final java.lang.String MEDIACONTAINER
        Deprecated.
        since ages - use CoreConstants.TC.MEDIACONTAINER instead
        Constant identifier for MediaContainer type.
      • MEDIACONTEXT

        @Deprecated
        public static final java.lang.String MEDIACONTEXT
        Deprecated.
        since ages - use CoreConstants.TC.MEDIACONTEXT instead
        Constant identifier for MediaContext type.
      • MEDIAFORMAT

        @Deprecated
        public static final java.lang.String MEDIAFORMAT
        Deprecated.
        since ages - use CoreConstants.TC.MEDIAFORMAT instead
        Constant identifier for MediaFormat type.
      • MEDIAFORMATMAPPING

        @Deprecated
        public static final java.lang.String MEDIAFORMATMAPPING
        Deprecated.
        since ages - use CoreConstants.TC.MEDIAFORMATMAPPING instead
        Constant identifier for MediaFormatMapping type.
      • MEDIAFORMATTER

        @Deprecated
        public static final java.lang.String MEDIAFORMATTER
        Deprecated.
        since ages - use CommonsConstants.TC.MEDIAFORMATTER instead
        Constant identifier for MediaFormatter type.
      • ROOT_FOLDER_QUALIFIER

        public static final java.lang.String ROOT_FOLDER_QUALIFIER
        Identifier of the root media folder created at system initialization.
        See Also:
        Constant Field Values
      • PREFERRED_URL_STRATEGY_ID

        public static final java.lang.String PREFERRED_URL_STRATEGY_ID
        See Also:
        Constant Field Values
    • Constructor Detail

      • MediaManager

        public MediaManager()
    • Method Detail

      • setMimeService

        public void setMimeService​(MimeService mimeService)
      • setMediaHeadersRegistry

        public void setMediaHeadersRegistry​(MediaHeadersRegistry mediaHeadersRegistry)
      • setMediaStorageRegistry

        public void setMediaStorageRegistry​(MediaStorageRegistry mediaStorageRegistry)
      • hasForeignDataOwners

        public boolean hasForeignDataOwners​(PK mediaPk,
                                            java.lang.Long dataPk)
      • deleteMedia

        public void deleteMedia​(java.lang.String folderQualifier,
                                java.lang.String location)
        Delete media.
        Parameters:
        folderQualifier - the folder qualifier
        location - the location
      • deleteMediaDataUnlessReferenced

        public void deleteMediaDataUnlessReferenced​(PK mediaPk,
                                                    java.lang.Long dataPk,
                                                    java.lang.String folderQualifier,
                                                    java.lang.String location)
        This method deletes media data unless it is referenced by another media object. If current transaction is running deletion will be delayed just after success commit. If there is no running transaction delete operation will be executed immediately.
        Parameters:
        mediaPk - PK of the given media object
        dataPk - Data PK of the given media object
        folderQualifier - Folder qualifier of the given media object
        location - Location of media data in the storage
      • getMediaAsStreamWithSize

        public MediaManager.InputStreamWithSize getMediaAsStreamWithSize​(java.lang.String folderQualifier,
                                                                         java.lang.String location)
        Gets the media as stream with its size.
        Parameters:
        folderQualifier - the folder qualifier
        location - the location
        Returns:
        the MediaManager.InputStreamWithSize object containing a stream with its size
      • getMediaAsStream

        public java.io.InputStream getMediaAsStream​(java.lang.String folderQualifier,
                                                    java.lang.String location)
        Gets the media as stream.
        Parameters:
        folderQualifier - the folder qualifier
        location - the location
        Returns:
        the media as stream
      • getMediaAsStream

        public java.io.InputStream getMediaAsStream​(MediaSource mediaSource)
        Gets media as stream. This method returns stream for backed binary data if media has it or tries to get stream directly from its URL if it does not have real data.
        Parameters:
        mediaSource - Wrapper interface for the media object.
        Returns:
        the media as stream
      • getMediaAsByteArray

        public byte[] getMediaAsByteArray​(java.lang.String folderQualifier,
                                          java.lang.String location)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • hasData

        public boolean hasData​(MediaSource mediaSource)
      • isZipRelatedMime

        public boolean isZipRelatedMime​(java.lang.String mime)
      • verifyMediaHashForLocation

        public void verifyMediaHashForLocation​(java.lang.String folderQualifier,
                                               java.lang.String location,
                                               java.lang.String storedHash)
      • isPathTargetSecuredFolder

        public boolean isPathTargetSecuredFolder​(java.lang.String folderQualifier,
                                                 java.lang.String location)
      • isFolderConfiguredAsSecured

        public boolean isFolderConfiguredAsSecured​(java.lang.String folderQualifier)
      • getMediaAsFile

        public java.io.File getMediaAsFile​(java.lang.String folderQualifier,
                                           java.lang.String location)
        This method try to return media data as File. It may throw UnsupportedOperationException when underlying MediaStorageStrategy does not support it.
        Parameters:
        folderQualifier - the folder qualifier
        location - the location
        Returns:
        the media as file
      • getURLForMedia

        public java.lang.String getURLForMedia​(java.lang.String folderQualifier,
                                               MediaSource mediaSource)
      • getDownloadURLForMedia

        public java.lang.String getDownloadURLForMedia​(java.lang.String folderQualifier,
                                                       MediaSource mediaSource)
      • initializeMediaStorage

        public void initializeMediaStorage​(boolean freshInit)
        Executes any configured media storage initializer on initialization process.
        Parameters:
        freshInit - determines whether it is fresh init or update
      • isSecuredFolder

        public boolean isSecuredFolder​(java.lang.String folderQualifier)
      • getInstance

        public static MediaManager getInstance()
        Gets the instance of this manager.
        Returns:
        instance of this manager
      • notifyItemRemoval

        protected void notifyItemRemoval​(SessionContext ctx,
                                         Item item)
        Superclass method overridden to avoid call to EJB layer.
        Overrides:
        notifyItemRemoval in class Manager
        Parameters:
        ctx - the currency session context
        item - the item which is going to be removed
        Since:
        2.10
      • getMediaTypeCode

        protected java.lang.String getMediaTypeCode()
        Gets the code of the media type.
        Returns:
        code of media type
      • createMedia

        public Media createMedia​(java.lang.String code)
        Creates a new media item. By this time no URL is set and no data is available.
        Parameters:
        code - code of new media
      • createMedia

        public Media createMedia​(PK pk,
                                 java.lang.String code)
        Creates a new media item. By this time no URL is set and no data is available.
        Parameters:
        pk - the pk for the new item; it will be equipped with type code additionally (-)
        code - code of new media
      • createMedia

        public Media createMedia​(java.lang.String code,
                                 ComposedType type)
        Creates a new media item with a specific type. By this time no URL is set and no data is available.

        Please note that this does not set any attribute declared by this type! Use ComposedType.newInstance(Map) to achieve attribute checks.

        Parameters:
        code - the code of the new media
        type - the type of the new media
      • createMedia

        public Media createMedia​(PK pkBase,
                                 java.lang.String code,
                                 ComposedType type)
        Creates a new media item with a specific type. By this time no URL is set and no data is available.

        Please note that this does not set any attribute declared by this type! Use ComposedType.newInstance(Map) to achieve attribute checks.

        Parameters:
        pkBase - the pk for the new item; it will be equipped with type code additionally (-)
        code - the code of the new media
        type - the type of the new media
      • getAllMedias

        @Deprecated
        public java.util.Collection getAllMedias()
        Deprecated.
        since 'medias' is incorrect term. Please use getAllMedia() instead.
        Gets all media items.
      • getMediasByCode

        @Deprecated
        public java.util.Collection getMediasByCode​(java.lang.String searchString)
        Deprecated.
        since 'medias' is incorrect term
        Finds all media which code matches the specified search pattern. Wildcards are '%' and '_' ( as in SQL LIKE statements ).
        Parameters:
        searchString - pattern used for searching
      • getMediaByCode

        public java.util.Collection getMediaByCode​(java.lang.String searchString)
        Finds all media which code matches the specified search pattern. Wildcards are '%' and '_' ( as in SQL LIKE statements ).
        Parameters:
        searchString - pattern used for searching
      • getMediasByMimeType

        @Deprecated
        public java.util.Collection getMediasByMimeType​(java.lang.String mimePattern)
        Deprecated.
        since 'medias' is incorrect term
        Finds all media whose mime type matches the given pattern.
        Parameters:
        mimePattern - a SQL pattern for the mime type
        Returns:
        a collection of Media objects
      • getMediaByMimeType

        public java.util.Collection getMediaByMimeType​(java.lang.String mimePattern)
        Finds all media whose mime type matches the given pattern.
        Parameters:
        mimePattern - a SQL pattern for the mime type
        Returns:
        a collection of Media objects
      • getMediaByURL

        @Deprecated
        public java.util.Collection getMediaByURL​(java.lang.String urlPattern)
        Deprecated.
        since ages
        Finds all media whose url matches the given pattern.
        Parameters:
        urlPattern - a SQL pattern for the url
        Returns:
        a collection of Media objects
      • getMediaByURLExact

        @Deprecated
        public java.util.Collection getMediaByURLExact​(java.lang.String url)
        Deprecated.
        since ages - use plain FlexibleSearchService.getModelsByExample(Object) to get a de.hybris.platform.core.model.media.MediaModels instances for a specified de.hybris.platform.core.model.media.MediaModel.CODE. See more at loading by exemplary model.
        Finds a media for a given url.
        Parameters:
        url - the url media will be needed
        Returns:
        all media matching given url
      • getMimeTypeByExtension

        public java.lang.String getMimeTypeByExtension​(java.lang.String fileExtension)
        Returns the MimeType for the given fileextension. If the Extension is unknown the Binary-Mimetype will be returned.
        Parameters:
        fileExtension - Fileextension, no dot, allowed are Lower- and Uppercases.
        Returns:
        Mimetypestring
      • createMediaFolder

        public MediaFolder createMediaFolder​(java.lang.String qualifier,
                                             java.lang.String path)
        Creates a new folder with given qualifier and path.
        Parameters:
        qualifier - qualifier for new folder
        path - path for new folder
        Returns:
        created folder
        Since:
        3.1-u4
      • createMediaFolder

        public MediaFolder createMediaFolder​(java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new folder with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        Returns:
        created folder
        Since:
        3.1-u4
      • createMediaFolder

        public MediaFolder createMediaFolder​(SessionContext ctx,
                                             java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new folder with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        ctx - session context
        Returns:
        created folder
        Since:
        3.1-u4
      • getMediaFolderByQualifier

        public java.util.Collection<MediaFolder> getMediaFolderByQualifier​(java.lang.String searchString)
        Finds all folders whose qualifier matches the specified search pattern. Wildcards are '%' and '_' ( as in SQL LIKE statements ).
        Parameters:
        searchString - pattern used for searching the folders
        Returns:
        list of found folders
        Since:
        3.1-u4
      • getOrCreateRootMediaFolder

        public MediaFolder getOrCreateRootMediaFolder()
        Gets the or create root media folder.
        Returns:
        the or create root media folder
      • createMediaContainer

        public MediaContainer createMediaContainer​(java.lang.String qualifier)
        Creates a new container with given qualifier.
        Parameters:
        qualifier - qualifier for new container
        Returns:
        created container
      • createMediaContainer

        public MediaContainer createMediaContainer​(java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new container with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        Returns:
        created container
      • createMediaContainer

        public MediaContainer createMediaContainer​(SessionContext ctx,
                                                   java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new container with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        ctx - session context
        Returns:
        created container
      • createMediaFormat

        public MediaFormat createMediaFormat​(java.lang.String qualifier)
        Creates a new format with given qualifier.
        Parameters:
        qualifier - qualifier for new format
        Returns:
        created format
      • createMediaFormat

        public MediaFormat createMediaFormat​(java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new format with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        Returns:
        created format
      • createMediaFormat

        public MediaFormat createMediaFormat​(SessionContext ctx,
                                             java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new format with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        ctx - session context
        Returns:
        created format
      • createMediaContext

        public MediaContext createMediaContext​(java.lang.String qualifier)
        Creates a new context with given qualifier.
        Parameters:
        qualifier - qualifier for new context
        Returns:
        created context
      • createMediaContext

        public MediaContext createMediaContext​(java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new context with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        Returns:
        created context
      • createMediaContext

        public MediaContext createMediaContext​(SessionContext ctx,
                                               java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new context with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        ctx - session context
        Returns:
        created context
      • createMediaFormatMapping

        public MediaFormatMapping createMediaFormatMapping​(MediaFormat source,
                                                           MediaFormat target)
        Creates a new mapping with given source and target format.
        Parameters:
        source - source format
        target - target format
        Returns:
        created mapping
      • createMediaFormatMapping

        public MediaFormatMapping createMediaFormatMapping​(java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new mapping with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        Returns:
        created mapping
      • createMediaFormatMapping

        public MediaFormatMapping createMediaFormatMapping​(SessionContext ctx,
                                                           java.util.Map<java.lang.String,​java.lang.Object> attributeValues)
        Creates a new mapping with given parameters.
        Parameters:
        attributeValues - parameters used for creation
        ctx - session context
        Returns:
        created mapping
      • createMedia

        public Media createMedia​(java.lang.String code,
                                 MediaFormat format)
        Creates a new media with given code and format.
        Parameters:
        code - code for new media
        format - format for new media
        Returns:
        created media
      • getMediaFormatByQualifier

        public MediaFormat getMediaFormatByQualifier​(java.lang.String qualifier)
        Gets first media format matching given qualifier.
        Parameters:
        qualifier - qualifier a format is needed for
        Returns:
        media format with given qualifier
      • writeReplace

        public java.lang.Object writeReplace()
                                      throws java.io.ObjectStreamException
        Specified by:
        writeReplace in class Manager
        Throws:
        java.io.ObjectStreamException