Interface MimetypeRegistry

    • Method Detail

      • getMimetypeFromBlobWithDefault

        String getMimetypeFromBlobWithDefault​(Blob blob,
                                              String defaultMimetype)
        Finds the mime type of a Blob content and returns provided default if not possible.
        Parameters:
        blob - content to be analyzed
        defaultMimetype - defaultMimeType to be used if no found
        Returns:
        the mime type for the given blob if it exists, otherwise it returns defaultMimetype
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
      • getMimetypeFromFilename

        String getMimetypeFromFilename​(String filename)
        Returns the mime type from a given filename.
        Parameters:
        filename - the file name for which we are looking for the mime type
        Returns:
        the mime type that matches the filename
        Throws:
        MimetypeNotFoundException - if mime type sniffing failed to identify a registered mime type
      • getExtensionsFromMimetypeName

        List<StringgetExtensionsFromMimetypeName​(String mimetypeName)
        Returns the extension for given mime type.
        Parameters:
        mimetypeName - the mime type name.
        Returns:
        a list of strings containing the possible extensions.
      • getMimetypeEntryByName

        MimetypeEntry getMimetypeEntryByName​(String name)
        Gets a mime type entry by name.
        Parameters:
        name - the mime type name
        Returns:
        the mime type entry that matches the mime type name if it exists, null otherwise
      • getMimetypeFromFilenameAndBlobWithDefault

        String getMimetypeFromFilenameAndBlobWithDefault​(String filename,
                                                         Blob blob,
                                                         String defaultMimetype)
        Finds the mime type of some content according to its filename and / or binary content.
        Parameters:
        filename - extension to analyze
        blob - content to be analyzed if filename is ambiguous
        defaultMimetype - defaultMimeType to be used if no found
        Returns:
        the mime type
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
      • getMimetypeFromFilenameWithBlobMimetypeFallback

        String getMimetypeFromFilenameWithBlobMimetypeFallback​(String filename,
                                                               Blob blob,
                                                               String defaultMimetype)
        Finds the mime type of some content according to its filename or binary mime type or binary content.
        Parameters:
        filename - extension to analyze
        blob - content to be analyzed if filename is ambiguous
        defaultMimetype - defaultMimeType to be used if no found
        Returns:
        the mime type
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
        Since:
        8.4
      • updateMimetype

        Blob updateMimetype​(Blob blob,
                            String filename,
                            Boolean withBlobMimetypeFallback)
        Updates the mime type field of a Blob based on the provided filename with fallback to binary. If the embedded filename is null, the provided filename is embedded into the blob as well.
        Parameters:
        blob - content to be analyzed if filename is ambiguous
        filename - with extension to analyze
        withBlobMimetypeFallback - to consider blob mime type as fallback or not
        Returns:
        updated blob (persisted if necessary)
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
        Since:
        8.4
      • updateMimetype

        Blob updateMimetype​(Blob blob,
                            String filename)
        Updates the mime type field of a Blob based on the provided filename with fallback to binary sniffing. If the embedded filename is null, the provided filename is embedded into the blob as well.
        Parameters:
        blob - content to be analyzed if filename is ambiguous
        filename - with extension to analyze
        Returns:
        updated blob (persisted if necessary)
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
      • updateMimetype

        Blob updateMimetype​(Blob blob)
        Updates the mime type field of a Blob based on the embedded filename with fallback to binary sniffing. This method should not be called if the embedded filename is null for performance reasons (+ the fact that binary sniffing is no very reliable).
        Parameters:
        blob - content to be analyzed if filename is ambiguous
        Returns:
        updated blob (persisted if necessary)
        Throws:
        MimetypeDetectionException - if unexpected problem prevent the detection to work as expected
      • getMimetypeFromExtension

        String getMimetypeFromExtension​(String extension)
        Returns the mime type from a given extension.
        Parameters:
        extension - the extension for which we are looking for the mime type
        Returns:
        the mime type for the given extension if it exists
        Throws:
        MimetypeNotFoundException - if mime type sniffing failed to identify a registered mime type
        Since:
        7.3
      • getNormalizedMimeType

        Optional<StringgetNormalizedMimeType​(String mimeType)
        Retrieves the normalized mime type for the given mimeType.
        Parameters:
        mimeType - the mime for which we are looking for the normalized one
        Returns:
        an Optional with a present value if the normalized mime type can be found, otherwise an empty Optional
        Since:
        11.1
      • isMimeTypeNormalized

        boolean isMimeTypeNormalized​(String mimeType)
        Checks if the given mimeType is a normalized one.
        Parameters:
        mimeType - the mime type to check
        Returns:
        true if mimeType is normalized, false otherwise
        Since:
        11.1