org.apache.jackrabbit.core.state.xml
Class XMLPersistenceManager

java.lang.Object
  extended byorg.apache.jackrabbit.core.state.AbstractPersistenceManager
      extended byorg.apache.jackrabbit.core.state.xml.XMLPersistenceManager
All Implemented Interfaces:
PersistenceManager

public class XMLPersistenceManager
extends AbstractPersistenceManager

XMLPersistenceManager is a FileSystem-based PersistenceManager that persists ItemState and NodeReferences objects in XML format.


Field Summary
static String DEFAULT_ENCODING
          The default encoding used in serialization
 
Constructor Summary
XMLPersistenceManager()
          Creates a new XMLPersistenceManager instance.
 
Method Summary
 void close()
          Closes the persistence manager. The consistency of the persistent storage is guaranteed and all acquired resources are released. It is an error to invoke any methods on a closed persistence manager, and implementations are free to enforce this constraint by throwing IllegalStateExceptions in such cases.

An appropriate exception is thrown if the persistence manager could not be closed properly. In this case the state of the persistence manager is undefined and the instance should be discarded.

protected  void destroy(NodeReferences refs)
          Destroy a node references object. Subclass responsibility.
protected  void destroy(NodeState state)
          Destroy a node state. Subclass responsibility.
protected  void destroy(PropertyState state)
          Destroy a property state. Subclass responsibility.
 boolean exists(NodeId id)
          Checks whether the identified node exists.
 boolean exists(NodeReferencesId id)
          Checks whether references of the identified target node exist.
 boolean exists(PropertyId id)
          Checks whether the identified property exists.
 void init(PMContext context)
          Initializes the persistence manager. The persistence manager is permanently bound to the given context, and any required external resources are acquired.

An appropriate exception is thrown if the persistence manager initialization fails for whatever reason. In this case the state of the persistence manager is undefined and the instance should be discarded.

 NodeState load(NodeId id)
          Load the persistent members of a node state.
 NodeReferences load(NodeReferencesId id)
          Load the persistent members of a node references object.
 PropertyState load(PropertyId id)
          Load the persistent members of a property state.
protected  void store(NodeReferences refs)
          Store a references object. Subclass responsibility.
protected  void store(NodeState state)
          Store a node state. Subclass responsibility.
protected  void store(PropertyState state)
          Store a property state. Subclass responsibility.
 
Methods inherited from class org.apache.jackrabbit.core.state.AbstractPersistenceManager
createNew, createNew, store
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ENCODING

public static final String DEFAULT_ENCODING
The default encoding used in serialization

See Also:
Constant Field Values
Constructor Detail

XMLPersistenceManager

public XMLPersistenceManager()
Creates a new XMLPersistenceManager instance.

Method Detail

init

public void init(PMContext context)
          throws Exception
Initializes the persistence manager. The persistence manager is permanently bound to the given context, and any required external resources are acquired.

An appropriate exception is thrown if the persistence manager initialization fails for whatever reason. In this case the state of the persistence manager is undefined and the instance should be discarded.

Parameters:
context - persistence manager context
Throws:
Exception - if the persistence manager intialization failed

close

public void close()
           throws Exception
Closes the persistence manager. The consistency of the persistent storage is guaranteed and all acquired resources are released. It is an error to invoke any methods on a closed persistence manager, and implementations are free to enforce this constraint by throwing IllegalStateExceptions in such cases.

An appropriate exception is thrown if the persistence manager could not be closed properly. In this case the state of the persistence manager is undefined and the instance should be discarded.

Throws:
Exception - if the persistence manager failed to close properly

load

public NodeState load(NodeId id)
               throws NoSuchItemStateException,
                      ItemStateException
Load the persistent members of a node state.

Parameters:
id - node id
Returns:
loaded node state
Throws:
NoSuchItemStateException - if the node state does not exist
ItemStateException - if another error occurs

load

public PropertyState load(PropertyId id)
                   throws NoSuchItemStateException,
                          ItemStateException
Load the persistent members of a property state.

Parameters:
id - property id
Returns:
loaded property state
Throws:
NoSuchItemStateException - if the property state does not exist
ItemStateException - if another error occurs

store

protected void store(NodeState state)
              throws ItemStateException
Store a node state. Subclass responsibility.

Specified by:
store in class AbstractPersistenceManager
Parameters:
state - node state to store
Throws:
ItemStateException - if an error occurs

store

protected void store(PropertyState state)
              throws ItemStateException
Store a property state. Subclass responsibility.

Specified by:
store in class AbstractPersistenceManager
Parameters:
state - property state to store
Throws:
ItemStateException - if an error occurs

destroy

protected void destroy(NodeState state)
                throws ItemStateException
Destroy a node state. Subclass responsibility.

Specified by:
destroy in class AbstractPersistenceManager
Parameters:
state - node state to destroy
Throws:
ItemStateException - if an error occurs

destroy

protected void destroy(PropertyState state)
                throws ItemStateException
Destroy a property state. Subclass responsibility.

Specified by:
destroy in class AbstractPersistenceManager
Parameters:
state - property state to destroy
Throws:
ItemStateException - if an error occurs

load

public NodeReferences load(NodeReferencesId id)
                    throws NoSuchItemStateException,
                           ItemStateException
Load the persistent members of a node references object.

Parameters:
id - reference target node id
Throws:
ItemStateException - if another error occurs
NoSuchItemStateException - if the target node does not exist

store

protected void store(NodeReferences refs)
              throws ItemStateException
Store a references object. Subclass responsibility.

Specified by:
store in class AbstractPersistenceManager
Parameters:
refs - references object to store
Throws:
ItemStateException - if an error occurs

destroy

protected void destroy(NodeReferences refs)
                throws ItemStateException
Destroy a node references object. Subclass responsibility.

Specified by:
destroy in class AbstractPersistenceManager
Parameters:
refs - node references object to destroy
Throws:
ItemStateException - if an error occurs

exists

public boolean exists(NodeId id)
               throws ItemStateException
Checks whether the identified node exists.

Parameters:
id - node id
Returns:
true if the node exists, false otherwise
Throws:
ItemStateException - on persistence manager errors

exists

public boolean exists(PropertyId id)
               throws ItemStateException
Checks whether the identified property exists.

Parameters:
id - property id
Returns:
true if the property exists, false otherwise
Throws:
ItemStateException - on persistence manager errors

exists

public boolean exists(NodeReferencesId id)
               throws ItemStateException
Checks whether references of the identified target node exist.

Parameters:
id - target node id
Returns:
true if the references exist, false otherwise
Throws:
ItemStateException - on persistence manager errors


Copyright © 2004-2006 The Apache Software Foundation. All Rights Reserved.