Document Reader Service
Create your own DocumentReader class
Your Document Reader must extend BaseComponentPlugin and implement interface DocumentReader (like BaseDocumentReader). Your class must be a plugin so that an extension of BaseComponentPlugin is necessary.public interface DocumentReader { /** * @return all appropriate mime types */ String[] getMimeTypes(); /** * @param is * @return document content * @throws Exception */ String getContentAsText(InputStream is) throws Exception; /** * @param is data input stream * @param encoding char set for input stream * @return document content * @throws Exception */ String getContentAsText(InputStream is, String encoding) throws Exception; /** * @param mimeType * @return metainfo properties reduced to some supported metadata set (Dublin * Core or other) */ Properties getProperties(InputStream is) throws Exception; }
- getMimeTypes() - must return an array of supported mimetypes (for ex. "text/plain");
- getContentAsText(InputStream is) - returns a String containing the text that is read from the InputStream "is".
- getContentAsText(InputStream is, String encoding) - returns a String containing the text that is read from the InputStream "is" according to the provided encoding.
- getProperties(InputStream is) - returns the properties of the document or null. See Dublin Core Metadata for supported properties.
Add your DocumentReader to DocumentReaderService component
<configuration>
<component>
<key>org.exoplatform.services.document.DocumentReaderService</key>
<type>org.exoplatform.services.document.impl.DocumentReaderServiceImpl</type>
<component-plugins>
<component-plugin>
<name>my.own.reader</name>
<set-method>addDocumentReader</set-method>
<type>org.mycompany.MyDocumentReader</type>
<description>to read some document inputstream</description>
</component-plugin>
... other document readers
</component-plugins>
</component>
</configuration>- "component-plugin" used to register your org.mycompany.MyDocumentReader type in DocumentReaderService;
- "
addDocumentReader " corresponds to DocumentReaderServiceImpl.addDocumentReader(ComponentPlugin plugin);
on 08/05/2009 at 08:27