|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.jackrabbit.server.io.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(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,
org.apache.jackrabbit.webdav.DavResource resource)
Returns true, if this handler can run a successful export based on the specified context and resource. |
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,
org.apache.jackrabbit.webdav.DavResource resource)
Returns true, if this handler can run a successful import based on the specified context and resource. |
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,
org.apache.jackrabbit.webdav.DavResource resource)
Same as (@link #exportContent(ExportContext, boolean)} where the boolean values is defined by DavResource.isCollection() . |
protected void |
exportData(ExportContext context,
boolean isCollection,
Node contentNode)
Checks if the given content node contains a jcr:data property and spools its value to the output stream fo the export context. Please note, that subclasses that define a different structure of the content node should create their own exportData method. |
protected void |
exportProperties(ExportContext context,
boolean isCollection,
Node contentNode)
Retrieves mimetype, encoding and modification time from the content node. |
protected String |
getCollectionNodeType()
Name of the nodetype to be used to create a new collection node (folder) |
protected Node |
getContentNode(ExportContext context,
boolean isCollection)
Retrieves the content node that contains the data to be exported. |
protected 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,
org.apache.jackrabbit.webdav.DavResource resource)
Runs the import for the given context and resource. |
protected boolean |
importData(ImportContext context,
boolean isCollection,
Node contentNode)
Imports the data present on the import context to the specified content node. |
protected boolean |
importProperties(ImportContext context,
boolean isCollection,
Node contentNode)
Imports the properties present on the specified context to the content node. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DefaultHandler(IOManager ioManager)
DefaultHandler
with default nodetype definitions:nt:folder
nt:file
nt:resource
ioManager
- 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()
IOHandler
IOManager
that called this handler or null
.
getIOManager
in interface IOHandler
IOHandler.getIOManager()
public String getName()
IOHandler
IOHandler
getName
in interface IOHandler
IOHandler.getName()
public boolean canImport(ImportContext context, boolean isCollection)
IOHandler
canImport
in interface IOHandler
context
- isCollection
-
IOHandler.canImport(ImportContext, boolean)
public boolean canImport(ImportContext context, org.apache.jackrabbit.webdav.DavResource resource)
IOHandler
IOHandler.canImport(ImportContext, boolean)
where
the isCollection flag is determined by DavResource.isCollection()
.
canImport
in interface IOHandler
context
- resource
-
IOHandler.canImport(ImportContext, DavResource)
public boolean importContent(ImportContext context, boolean isCollection) throws IOException
IOHandler
ImportContext
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 IOHandler
s.
importContent
in interface IOHandler
context
- isCollection
-
IOException
- 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, org.apache.jackrabbit.webdav.DavResource resource) throws IOException
IOHandler
ImportContext
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 IOHandler
s.
importContent
in interface IOHandler
context
- resource
-
IOException
- 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, Node contentNode) throws IOException, RepositoryException
context
- isCollection
- contentNode
-
IOException
RepositoryException
protected boolean importProperties(ImportContext context, boolean isCollection, Node contentNode)
context
- isCollection
- contentNode
-
protected Node getContentNode(ImportContext context, boolean isCollection) throws RepositoryException
context
- isCollection
-
RepositoryException
public boolean canExport(ExportContext context, boolean isCollection)
jcr:content
in case this
export is not intended for a collection.
canExport
in interface IOHandler
context
- isCollection
-
jcr:content
.IOHandler.canExport(ExportContext, boolean)
public boolean canExport(ExportContext context, org.apache.jackrabbit.webdav.DavResource resource)
IOHandler
IOHandler.canExport(ExportContext, boolean)
where
the isCollection flag is determined by DavResource.isCollection()
.
canExport
in interface IOHandler
context
- resource
-
IOHandler.canExport(ExportContext, DavResource)
public boolean exportContent(ExportContext context, boolean isCollection) throws IOException
exportContent
in interface IOHandler
context
- isCollection
-
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, org.apache.jackrabbit.webdav.DavResource resource) throws IOException
DavResource.isCollection()
.
exportContent
in interface IOHandler
context
- resource
-
IOException
- 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, Node contentNode) throws IOException, RepositoryException
exportData
method.
context
- isCollection
- contentNode
-
IOException
RepositoryException
protected void exportProperties(ExportContext context, boolean isCollection, Node contentNode) throws IOException
context
- isCollection
- contentNode
-
IOException
protected Node getContentNode(ExportContext context, boolean isCollection) throws RepositoryException
jcr:content
.
context
- isCollection
-
RepositoryException
protected String getCollectionNodeType()
protected String getNodeType()
protected String getContentNodeType()
jcr:content
.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |