Interface ITransformer<T extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData>
-
- Type Parameters:
T
- type which this transformer reads and writes
- All Known Implementing Classes:
NodeRepositoryFileDataTransformer
,SampleRepositoryFileDataTransformer
,SimpleRepositoryFileDataTransformer
public interface ITransformer<T extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData>
A pluggable method for reading and writingIRepositoryFileData
implementations.- Author:
- mlowery
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
canRead(String contentType, Class<? extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData> clazz)
Returnstrue
if this transformer can read data for files with the given content type and return the data in the given form.boolean
canWrite(Class<? extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData> clazz)
Returnstrue
if this transformer can write data of the formclazz
.void
createContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, T data, javax.jcr.Node fileNode)
Creates a JCR node subtree representing the givencontent
.T
fromContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, javax.jcr.Node fileNode)
Transforms a JCR node subtree into anIRepositoryFileData
.String
getContentType()
Returns the content type string for this transformer.void
updateContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, T data, javax.jcr.Node fileNode)
Updates a JCR node subtree representing the givencontent
.
-
-
-
Method Detail
-
canRead
boolean canRead(String contentType, Class<? extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData> clazz)
Returnstrue
if this transformer can read data for files with the given content type and return the data in the given form.- Parameters:
contentType
- content type to checkclazz
- class to check- Returns:
true
if this transformer can read data for files with the given content type and return the data in the given form
-
canWrite
boolean canWrite(Class<? extends org.pentaho.platform.api.repository2.unified.IRepositoryFileData> clazz)
Returnstrue
if this transformer can write data of the formclazz
.- Parameters:
clazz
- class to check- Returns:
true
if this transformer can write data of the formclazz
-
getContentType
String getContentType()
Returns the content type string for this transformer. This gets set on the file and allows the file's data to be read regardless of the requested data class.- Returns:
- content type
-
fromContentNode
T fromContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, javax.jcr.Node fileNode) throws javax.jcr.RepositoryException
Transforms a JCR node subtree into anIRepositoryFileData
.- Parameters:
session
- JCR sessionpentahoJcrConstants
- constantsescapeHelper
- escape helperfileNode
- node of type pho_nt:pentahoFile or pho_nt:pentahoLinkedFile- Returns:
- an
IRepositoryFileData
instance - Throws:
javax.jcr.RepositoryException
- if anything goes wrong
-
createContentNode
void createContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, T data, javax.jcr.Node fileNode) throws javax.jcr.RepositoryException
Creates a JCR node subtree representing the givencontent
.- Parameters:
session
- JCR sessionpentahoJcrConstants
- constantsescapeHelper
- escape helperdata
- data to createfileNode
- node of type pho_nt:pentahoFile or pho_nt:pentahoLinkedFile- Throws:
javax.jcr.RepositoryException
- if anything goes wrong
-
updateContentNode
void updateContentNode(javax.jcr.Session session, PentahoJcrConstants pentahoJcrConstants, T data, javax.jcr.Node fileNode) throws javax.jcr.RepositoryException
Updates a JCR node subtree representing the givencontent
.- Parameters:
session
- JCR sessionpentahoJcrConstants
- constantsescapeHelper
- escape helperdata
- data to updatefileNode
- node of type pho_nt:pentahoFile or pho_nt:pentahoLinkedFile- Throws:
javax.jcr.RepositoryException
- if anything goes wrong
-
-