|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.server.io.DefaultHandler
public class DefaultHandler
DefaultHandler implements a simple IOHandler that creates 'file'
and 'folder' nodes. This handler will create the following nodes:
collection nodetype. The name of the node corresponds to the systemId
present on the import context.non-collection nodetype. The name of the node corresponds to the systemId
present on the import context. Below it creates a node with name
jcr:content and the nodetype specified
by getContentNodeType().JcrConstants.JCR_DATA property of the
content node. By default this handler will fail on a attempt to create/replace
a collection if IOContext.hasStream() is true.
Subclasses therefore should provide their own importData method, that handles the data according their needs.
| Constructor Summary | |
|---|---|
DefaultHandler()
Creates a new DefaultHandler with default nodetype definitions
and without setting the IOManager. |
|
DefaultHandler(IOManager ioManager)
Creates a new DefaultHandler with default nodetype definitions:Nodetype for Collection: nt:folder
Nodetype for Non-Collection: nt:file
Nodetype for Non-Collection content: nt:resource
|
|
DefaultHandler(IOManager ioManager,
String collectionNodetype,
String defaultNodetype,
String contentNodetype)
Creates a new DefaultHandler. |
|
| Method Summary | |
|---|---|
boolean |
canExport(ExportContext context,
boolean isCollection)
Returns true if the export root is a node and if it contains a child node with name jcr:content in case this
export is not intended for a collection. |
boolean |
canExport(ExportContext context,
DavResource resource)
Returns true, if this handler can run a successful export based on the specified context and resource. |
boolean |
canExport(PropertyExportContext context,
boolean isCollection)
Returns true, if this handler can run a successful export based on the specified context. |
boolean |
canImport(ImportContext context,
boolean isCollection)
Returns true, if this handler can run a successful import based on the specified context. |
boolean |
canImport(ImportContext context,
DavResource resource)
Returns true, if this handler can run a successful import based on the specified context and resource. |
boolean |
canImport(PropertyImportContext context,
boolean isCollection)
Returns true, if this handler can run a property import based on the specified context. |
boolean |
exportContent(ExportContext context,
boolean isCollection)
Retrieves the content node that will be used for exporting properties and data and calls the corresponding methods. |
boolean |
exportContent(ExportContext context,
DavResource resource)
Same as (@link IOHandler#exportContent(ExportContext, boolean)} where the boolean values is defined by DavResource.isCollection(). |
protected void |
exportData(ExportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
Checks if the given content node contains a jcr:data property and spools its value to the output stream of the export context. |
protected void |
exportProperties(ExportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
Retrieves mimetype, encoding and modification time from the content node. |
boolean |
exportProperties(PropertyExportContext exportContext,
boolean isCollection)
Exports properties to the given context. |
protected boolean |
forceCompatibleContentNodes()
Defines if content nodes should be replace if they don't have the node type given by getCollectionNodeType(). |
protected String |
getCollectionNodeType()
Name of the nodetype to be used to create a new collection node (folder) |
protected javax.jcr.Node |
getContentNode(ExportContext context,
boolean isCollection)
Retrieves the content node that contains the data to be exported. |
protected javax.jcr.Node |
getContentNode(ImportContext context,
boolean isCollection)
Retrieves/creates the node that will be used to import properties and data. |
protected String |
getContentNodeType()
Name of the nodetype to be used to create the content node below a new non-collection node, whose name is always jcr:content. |
IOManager |
getIOManager()
Returns the IOManager that called this handler or null. |
String |
getName()
Returns a human readable name for this IOHandler |
protected String |
getNodeType()
Name of the nodetype to be used to create a new non-collection node (file) |
boolean |
importContent(ImportContext context,
boolean isCollection)
Runs the import for the given context and indicates by a boolean return value, if the import could be completed successfully. |
boolean |
importContent(ImportContext context,
DavResource resource)
Runs the import for the given context and resource. |
protected boolean |
importData(ImportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
Imports the data present on the import context to the specified content node. |
protected boolean |
importProperties(ImportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
Imports the properties present on the specified context to the content node. |
Map |
importProperties(PropertyImportContext importContext,
boolean isCollection)
Imports, modifies or removes properties according the the change list available from
the import context. |
void |
setIOManager(IOManager ioManager)
Sets the IOManager that called this handler. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DefaultHandler()
DefaultHandler with default nodetype definitions
and without setting the IOManager.
IOHandler.setIOManager(IOManager)public DefaultHandler(IOManager ioManager)
DefaultHandler with default nodetype definitions:nt:foldernt:filent:resource
ioManager - the I/O manager
public DefaultHandler(IOManager ioManager,
String collectionNodetype,
String defaultNodetype,
String contentNodetype)
DefaultHandler. Please note that the specified
nodetypes must match the definitions of the defaults.
ioManager - collectionNodetype - defaultNodetype - contentNodetype - | Method Detail |
|---|
public IOManager getIOManager()
IOHandlerIOManager that called this handler or null.
getIOManager in interface IOHandlerIOHandler.getIOManager()public void setIOManager(IOManager ioManager)
IOHandlerIOManager that called this handler.
setIOManager in interface IOHandlerIOHandler.setIOManager(IOManager)public String getName()
IOHandlerIOHandler
getName in interface IOHandlerIOHandler.getName()
public boolean canImport(ImportContext context,
boolean isCollection)
IOHandler
canImport in interface IOHandlerIOHandler.canImport(ImportContext, boolean)
public boolean canImport(ImportContext context,
DavResource resource)
IOHandlerIOHandler.canImport(ImportContext, boolean)
where the isCollection flag is determined by
DavResource.isCollection().
canImport in interface IOHandlerIOHandler.canImport(ImportContext, DavResource)
public boolean importContent(ImportContext context,
boolean isCollection)
throws IOException
IOHandlerImportContext does not provide a stream
the implementation is free, to only import properties of to refuse the
import.ImportContext to assert, that its stream is not consumed
multiple times when being passed to a chain of IOHandlers.
importContent in interface IOHandlerIOException - if an unexpected error occurs or if this method has
been called although IOHandler.canImport(ImportContext, boolean)
returns false.IOHandler.importContent(ImportContext, boolean)
public boolean importContent(ImportContext context,
DavResource resource)
throws IOException
IOHandlerImportContext does not provide a stream
the implementation is free, to only import properties of to refuse the
import. A simple implementation may return the same as
IOHandler.importContent(ImportContext, boolean) where the
isCollection flag is determined by DavResource.isCollection()ImportContext to assert, that its stream is not consumed
multiple times when being passed to a chain of IOHandlers.
importContent in interface IOHandlerIOException - if an unexpected error occurs or if this method has
been called although IOHandler.canImport(ImportContext, DavResource)
returns false.IOHandler.importContent(ImportContext, DavResource)
protected boolean importData(ImportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
throws IOException,
javax.jcr.RepositoryException
context - isCollection - contentNode -
IOException
javax.jcr.RepositoryException
protected boolean importProperties(ImportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
context - isCollection - contentNode -
protected javax.jcr.Node getContentNode(ImportContext context,
boolean isCollection)
throws javax.jcr.RepositoryException
context - isCollection -
javax.jcr.RepositoryExceptionprotected boolean forceCompatibleContentNodes()
getCollectionNodeType().
true if content nodes should be replaced.
public boolean canExport(ExportContext context,
boolean isCollection)
jcr:content in case this
export is not intended for a collection.
canExport in interface IOHandlerjcr:content.IOHandler.canExport(ExportContext, boolean)
public boolean canExport(ExportContext context,
DavResource resource)
IOHandlerIOHandler.canExport(ExportContext, boolean)
where the isCollection flag is determined by
DavResource.isCollection().
canExport in interface IOHandlerIOHandler.canExport(ExportContext, DavResource)
public boolean exportContent(ExportContext context,
boolean isCollection)
throws IOException
exportContent in interface IOHandlercontext - the export contextisCollection - true if collection
IOException - if an unexpected error occurs or if this method has
been called although IOHandler.canExport(ExportContext, boolean)
returns false.exportProperties(ExportContext, boolean, Node),
exportData(ExportContext, boolean, Node)
public boolean exportContent(ExportContext context,
DavResource resource)
throws IOException
DavResource.isCollection().
exportContent in interface IOHandlerIOException - if an unexpected error occurs or if this method has
been called although IOHandler.canExport(ExportContext, DavResource)
returns false.IOHandler.exportContent(ExportContext, DavResource)
protected void exportData(ExportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
throws IOException,
javax.jcr.RepositoryException
exportData method.
context - export contextisCollection - true if collectioncontentNode - the content node
IOException - if an I/O error occurs
javax.jcr.RepositoryException
protected void exportProperties(ExportContext context,
boolean isCollection,
javax.jcr.Node contentNode)
throws IOException
context - the export contextisCollection - true if collectioncontentNode - the content node
IOException
protected javax.jcr.Node getContentNode(ExportContext context,
boolean isCollection)
throws javax.jcr.RepositoryException
jcr:content.
context - the export contextisCollection - true if collection
javax.jcr.RepositoryException - if an error during repository access occurs.protected String getCollectionNodeType()
protected String getNodeType()
protected String getContentNodeType()
jcr:content.
public boolean canExport(PropertyExportContext context,
boolean isCollection)
PropertyHandler
canExport in interface PropertyHandlerPropertyHandler is export properties
given the specified parameters.
public boolean exportProperties(PropertyExportContext exportContext,
boolean isCollection)
throws javax.jcr.RepositoryException
PropertyHandlerIOHandler.exportContent(ExportContext, boolean).
exportProperties in interface PropertyHandlerjavax.jcr.RepositoryException - If an attempt is made to export properties
even if PropertyHandler#canExport{PropertyExportContext, boolean)}
returns false or if some other unrecoverable error occurs.
public boolean canImport(PropertyImportContext context,
boolean isCollection)
PropertyHandler
canImport in interface PropertyHandlerPropertyHandler can import properties
given the specified parameters.
public Map importProperties(PropertyImportContext importContext,
boolean isCollection)
throws javax.jcr.RepositoryException
PropertyHandlerchange list available from
the import context. Note, that according to JSR 170 setting a property
value to null is equivalent to its removal.
The return value of this method must be used to provided detailed
information about any kind of failures.
importProperties in interface PropertyHandlerjavax.jcr.RepositoryException - If
PropertyHandler.canImport(PropertyImportContext, boolean)
returns false for the given parameters or if some other unrecoverable
error occured. Note, that normal failure of a property update must be
reported with the return value and should not result in an exception.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||