org.apache.jackrabbit.core
Class ItemManager

java.lang.Object
  extended by org.apache.jackrabbit.core.ItemManager
All Implemented Interfaces:
ItemStateListener, Dumpable

public class ItemManager
extends Object
implements Dumpable, ItemStateListener

There's one ItemManager instance per Session instance. It is the factory for Node and Property instances.

The ItemManager's responsibilities are:

If the parent Session is an XASession, there is one ItemManager instance per started global transaction.


Field Summary
protected  SessionImpl session
           
 
Constructor Summary
protected ItemManager(SessionItemStateManager sism, HierarchyManager hierMgr, SessionImpl session, NodeDefinitionImpl rootNodeDef, NodeId rootNodeId)
          Creates a new per-session instance ItemManager instance.
 
Method Summary
static ItemManager createInstance(SessionItemStateManager itemStateProvider, HierarchyManager hierMgr, SessionImpl session, NodeDefinitionImpl rootNodeDef, NodeId rootNodeId)
          Creates a new per-session instance ItemManager instance.
 void dump(PrintStream ps)
          Dumps the state of this instance in a human readable format for diagnostic purposes.
 ItemImpl getItem(ItemId id)
           
 ItemImpl getItem(Path path)
          Deprecated. As of JSR 283, a Path doesn't anymore uniquely identify an Item, therefore getNode(Path) and getProperty(Path) should be used instead.
 NodeImpl getNode(NodeId id, NodeId parentId)
          Returns a node with a given id and parent id.
 NodeImpl getNode(Path path)
           
 PropertyImpl getProperty(Path path)
           
 void itemDestroyed(ItemId id, ItemData data)
          
 boolean itemExists(ItemId id)
          Checks if the item with the given id exists.
 boolean itemExists(Path path)
          Deprecated. As of JSR 283, a Path doesn't anymore uniquely identify an Item, therefore nodeExists(Path) and propertyExists(Path) should be used instead.
 void itemInvalidated(ItemId id, ItemData data)
          
 boolean nodeExists(Path path)
          Checks whether a node exists at the specified path.
 boolean propertyExists(Path path)
          Checks whether a property exists at the specified path.
 void stateCreated(ItemState created)
          Called when an ItemState has successfully been created (i.e.
 void stateDestroyed(ItemState destroyed)
          Called when an ItemState has successfully been removed (i.e.
 void stateDiscarded(ItemState discarded)
          Called when an ItemState has been discarded (i.e.
 void stateModified(ItemState modified)
          Called when an ItemState has successfully been modified (i.e.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

session

protected final SessionImpl session
Constructor Detail

ItemManager

protected ItemManager(SessionItemStateManager sism,
                      HierarchyManager hierMgr,
                      SessionImpl session,
                      NodeDefinitionImpl rootNodeDef,
                      NodeId rootNodeId)
Creates a new per-session instance ItemManager instance.

Parameters:
sism - the item state manager associated with the new instance
hierMgr - the hierarchy manager
session - the session associated with the new instance
rootNodeDef - the definition of the root node
rootNodeId - the id of the root node
Method Detail

createInstance

public static ItemManager createInstance(SessionItemStateManager itemStateProvider,
                                         HierarchyManager hierMgr,
                                         SessionImpl session,
                                         NodeDefinitionImpl rootNodeDef,
                                         NodeId rootNodeId)
Creates a new per-session instance ItemManager instance.

Parameters:
itemStateProvider - the item state provider associated with the new instance
hierMgr - the hierarchy manager
session - the session associated with the new instance
rootNodeDef - the definition of the root node
rootNodeId - the id of the root node
Returns:
the item manager instance.

itemExists

public boolean itemExists(Path path)
Deprecated. As of JSR 283, a Path doesn't anymore uniquely identify an Item, therefore nodeExists(Path) and propertyExists(Path) should be used instead.

Checks whether an item exists at the specified path.

Parameters:
path - path to the item to be checked
Returns:
true if the specified item exists

nodeExists

public boolean nodeExists(Path path)
Checks whether a node exists at the specified path.

Parameters:
path - path to the node to be checked
Returns:
true if a node exists at the specified path

propertyExists

public boolean propertyExists(Path path)
Checks whether a property exists at the specified path.

Parameters:
path - path to the property to be checked
Returns:
true if a property exists at the specified path

itemExists

public boolean itemExists(ItemId id)
Checks if the item with the given id exists.

Parameters:
id - id of the item to be checked
Returns:
true if the specified item exists

getItem

public ItemImpl getItem(Path path)
                 throws PathNotFoundException,
                        AccessDeniedException,
                        RepositoryException
Deprecated. As of JSR 283, a Path doesn't anymore uniquely identify an Item, therefore getNode(Path) and getProperty(Path) should be used instead.

Returns the node at the specified absolute path in the workspace. If no such node exists, then it returns the property at the specified path. If no such property exists a PathNotFoundException is thrown.

Parameters:
path -
Returns:
Throws:
PathNotFoundException
AccessDeniedException
RepositoryException

getNode

public NodeImpl getNode(Path path)
                 throws PathNotFoundException,
                        AccessDeniedException,
                        RepositoryException
Parameters:
path -
Returns:
Throws:
PathNotFoundException
AccessDeniedException
RepositoryException

getProperty

public PropertyImpl getProperty(Path path)
                         throws PathNotFoundException,
                                AccessDeniedException,
                                RepositoryException
Parameters:
path -
Returns:
Throws:
PathNotFoundException
AccessDeniedException
RepositoryException

getItem

public ItemImpl getItem(ItemId id)
                 throws ItemNotFoundException,
                        AccessDeniedException,
                        RepositoryException
Parameters:
id -
Returns:
Throws:
RepositoryException
ItemNotFoundException
AccessDeniedException

getNode

public NodeImpl getNode(NodeId id,
                        NodeId parentId)
                 throws ItemNotFoundException,
                        AccessDeniedException,
                        RepositoryException
Returns a node with a given id and parent id. If the indicated node is shareable, there might be multiple nodes associated with the same id, but there'is only one node with the given parent id.

Parameters:
id - node id
parentId - parent node id
Returns:
node
Throws:
RepositoryException - if an error occurs
ItemNotFoundException
AccessDeniedException

itemInvalidated

public void itemInvalidated(ItemId id,
                            ItemData data)


itemDestroyed

public void itemDestroyed(ItemId id,
                          ItemData data)


dump

public void dump(PrintStream ps)
Dumps the state of this instance in a human readable format for diagnostic purposes.

Specified by:
dump in interface Dumpable
Parameters:
ps - stream to dump state to

stateCreated

public void stateCreated(ItemState created)
Called when an ItemState has successfully been created (i.e. its underlying persistent state was created).

Specified by:
stateCreated in interface ItemStateListener
Parameters:
created - the ItemState that has been 'created'

stateModified

public void stateModified(ItemState modified)
Called when an ItemState has successfully been modified (i.e. its underlying persistent state has changed).

Specified by:
stateModified in interface ItemStateListener
Parameters:
modified - the ItemState that has been 'modified'

stateDestroyed

public void stateDestroyed(ItemState destroyed)
Called when an ItemState has successfully been removed (i.e. its underlying persistent state has been destroyed).

Specified by:
stateDestroyed in interface ItemStateListener
Parameters:
destroyed - the ItemState that has been 'destroyed'

stateDiscarded

public void stateDiscarded(ItemState discarded)
Called when an ItemState has been discarded (i.e. it has been rendered 'invalid').

Specified by:
stateDiscarded in interface ItemStateListener
Parameters:
discarded - the ItemState that has been discarded
See Also:
ItemState.discard()


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