Class TikaPoweredContentTransformer

    • Field Detail

      • sourceMimeTypes

        protected java.util.List<java.lang.String> sourceMimeTypes
      • documentSelector

        protected org.apache.tika.extractor.DocumentSelector documentSelector
      • LINE_BREAK

        protected static final java.lang.String LINE_BREAK
        Windows carriage return line feed pair.
        See Also:
        Constant Field Values
      • WRONG_FORMAT_MESSAGE_ID

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

      • TikaPoweredContentTransformer

        protected TikaPoweredContentTransformer​(java.util.List<java.lang.String> sourceMimeTypes)
      • TikaPoweredContentTransformer

        protected TikaPoweredContentTransformer​(java.lang.String[] sourceMimeTypes)
    • Method Detail

      • getParser

        protected abstract org.apache.tika.parser.Parser getParser()
        Returns the correct Tika Parser to process the document. If you don't know which you want, use TikaAutoContentTransformer which makes use of the Tika auto-detection.
      • isTransformableMimetype

        public boolean isTransformableMimetype​(java.lang.String sourceMimetype,
                                               java.lang.String targetMimetype,
                                               TransformationOptions options)
        Can we do the requested transformation via Tika? We support transforming to HTML, XML or Text
        Specified by:
        isTransformableMimetype in interface ContentTransformer
        Overrides:
        isTransformableMimetype in class AbstractContentTransformerLimits
        Parameters:
        sourceMimetype - the source mimetype
        targetMimetype - the target mimetype
        options - the transformation options
        Returns:
        boolean true if this content transformer can satify the mimetypes, false otherwise
      • getContentHandler

        protected org.xml.sax.ContentHandler getContentHandler​(java.lang.String targetMimeType,
                                                               java.io.Writer output)
                                                        throws javax.xml.transform.TransformerConfigurationException
        Returns an appropriate Tika ContentHandler for the requested content type. Normally you'll let this work as default, but if you need fine-grained control of how the Tika events become text then override and supply your own.
        Throws:
        javax.xml.transform.TransformerConfigurationException
      • setDocumentSelector

        public void setDocumentSelector​(org.apache.tika.extractor.DocumentSelector documentSelector)
        Sets the document selector, used for determining whether to parse embedded resources.
        Parameters:
        documentSelector - DocumentSelector
      • getDocumentSelector

        protected org.apache.tika.extractor.DocumentSelector getDocumentSelector​(org.apache.tika.metadata.Metadata metadata,
                                                                                 java.lang.String targetMimeType,
                                                                                 TransformationOptions options)
        Gets the document selector, used for determining whether to parse embedded resources, null by default so parse all.
        Parameters:
        metadata - Metadata
        targetMimeType - String
        options - TransformationOptions
        Returns:
        the document selector
      • buildParseContext

        protected org.apache.tika.parser.ParseContext buildParseContext​(org.apache.tika.metadata.Metadata metadata,
                                                                        java.lang.String targetMimeType,
                                                                        TransformationOptions options)
        By default returns a ParseContent that does not recurse
      • transformInternal

        public void transformInternal​(org.alfresco.service.cmr.repository.ContentReader reader,
                                      org.alfresco.service.cmr.repository.ContentWriter writer,
                                      TransformationOptions options)
                               throws java.lang.Exception
        Description copied from class: AbstractContentTransformer2
        Method to be implemented by subclasses wishing to make use of the common infrastructural code provided by this class.
        Specified by:
        transformInternal in class AbstractContentTransformer2
        Parameters:
        reader - the source of the content to transform
        writer - the target to which to write the transformed content
        options - a map of options to use when performing the transformation. The map will never be null.
        Throws:
        java.lang.Exception - exceptions will be handled by this class - subclasses can throw anything