org.apache.jackrabbit.core
Class SessionImpl

java.lang.Object
  extended by org.apache.jackrabbit.commons.AbstractSession
      extended by org.apache.jackrabbit.core.SessionImpl
All Implemented Interfaces:
Session, org.apache.jackrabbit.api.JackrabbitSession, org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver, org.apache.jackrabbit.spi.commons.conversion.NamePathResolver, org.apache.jackrabbit.spi.commons.conversion.NameResolver, org.apache.jackrabbit.spi.commons.conversion.PathResolver, org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver, org.apache.jackrabbit.spi.commons.SessionExtensions
Direct Known Subclasses:
XASessionImpl

public class SessionImpl
extends org.apache.jackrabbit.commons.AbstractSession
implements org.apache.jackrabbit.api.JackrabbitSession, org.apache.jackrabbit.spi.commons.SessionExtensions, org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver, org.apache.jackrabbit.spi.commons.conversion.NamePathResolver, org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver

A SessionImpl ...


Field Summary
protected  Map<String,Object> attributes
          the attributes of this session
static String AUTO_FIX_CORRUPTIONS
          Name of the session attribute that controls whether repository inconsistencies should be automatically fixed when traversing over child nodes, when trying to add a child node, or removing a child node.
protected  SessionContext context
          The component context of this session.
static String DISABLE_CLUSTER_SYNC_ON_REFRESH
          Name of the session attribute that controls whether the refresh(boolean) method will cause the repository to synchronize itself to changes in other cluster nodes.
protected  Map<SessionListener,SessionListener> listeners
          Listeners (weak references)
protected  AuthContext loginContext
          the AuthContext of this session (can be null if this session was not instantiated through a login process)
protected  org.apache.jackrabbit.spi.commons.conversion.NamePathResolver namePathResolver
          Name and Path resolver
protected  RepositoryContext repositoryContext
          The component context of the repository that issued this session.
protected  Subject subject
          the Subject of this session
protected  String userId
          the user ID that was used to acquire this session
protected  InternalVersionManager versionMgr
          The version manager for this session
 
Fields inherited from interface javax.jcr.Session
ACTION_ADD_NODE, ACTION_READ, ACTION_REMOVE, ACTION_SET_PROPERTY
 
Constructor Summary
protected SessionImpl(RepositoryContext repositoryContext, AuthContext loginContext, WorkspaceConfig wspConfig)
          Protected constructor.
protected SessionImpl(RepositoryContext repositoryContext, Subject subject, WorkspaceConfig wspConfig)
          Protected constructor.
 
Method Summary
 void addListener(SessionListener listener)
          Add a SessionListener
 void addLockToken(String lt)
          
protected  boolean autoFixCorruptions()
          Checks whether repository inconsistencies should be automatically fixed when traversing over child nodes, when trying to add a child node, or when removing a child node.
 void checkFormat(String identifier)
           
 void checkPermission(String absPath, String actions)
          
protected  boolean clusterSyncOnRefresh()
          Checks whether the refresh(boolean) method should cause cluster synchronization.
protected  AccessManager createAccessManager(Subject subject)
          Create the access manager.
 GarbageCollector createDataStoreGarbageCollector()
          Create a data store garbage collector for this repository.
protected  ItemManager createItemManager()
          Create the item manager.
protected  ObservationManagerImpl createObservationManager(String wspName)
           
 Session createSession(String workspaceName)
          Creates a new session with the same subject as this sessions but to a different workspace.
protected  SessionItemStateManager createSessionItemStateManager()
          Create the session item state manager.
protected  InternalVersionManager createVersionManager()
          Create the version manager.
 void finalize()
          Finalize the session.
 AccessControlManager getAccessControlManager()
           
 AccessManager getAccessManager()
          Returns the AccessManager associated with this session.
 Object getAttribute(String name)
          
 String[] getAttributeNames()
          
 HierarchyManager getHierarchyManager()
          Returns the HierarchyManager associated with this session.
 ContentHandler getImportContentHandler(String parentAbsPath, int uuidBehavior)
          
 InternalVersionManager getInternalVersionManager()
          Returns the InternalVersionManager associated with this session.
 Item getItem(String absPath)
          
 ItemManager getItemManager()
          Returns the ItemManager of this session.
 String getJCRName(org.apache.jackrabbit.spi.Name name)
           
 String getJCRPath(org.apache.jackrabbit.spi.Path path)
           
 Lock[] getLocks()
          Returns all locks owned by this session.
 String[] getLockTokens()
          
 Node getNode(String absPath)
           
 NodeImpl getNodeById(NodeId id)
          Retrieves the Node with the given id.
 Node getNodeByIdentifier(String id)
           
 Node getNodeByUUID(String uuid)
          
 NodeTypeManagerImpl getNodeTypeManager()
          Returns the NodeTypeManager.
 org.apache.jackrabbit.spi.Path getPath(String identifier)
           
 String getPrefix(String uri)
           
 org.apache.jackrabbit.api.security.principal.PrincipalManager getPrincipalManager()
           
 Property getProperty(String absPath)
           
 org.apache.jackrabbit.spi.Name getQName(String name)
           
 org.apache.jackrabbit.spi.Path getQPath(String path)
           
 org.apache.jackrabbit.spi.Path getQPath(String path, boolean normalizeIdentifier)
           
 Repository getRepository()
          
 RetentionManager getRetentionManager()
           
protected  RetentionRegistry getRetentionRegistry()
          Returns the internal retention manager used for evaluation of effective retention policies and holds.
 Node getRootNode()
          
 Subject getSubject()
          Returns a read only copy of the Subject associated with this session.
 String getURI(String prefix)
           
 String getUserID()
          
 org.apache.jackrabbit.api.security.user.UserManager getUserManager()
           
 ValueFactory getValueFactory()
          
 Workspace getWorkspace()
          
 boolean hasCapability(String methodName, Object target, Object[] arguments)
           
 boolean hasPendingChanges()
          
 boolean hasPermission(String absPath, String actions)
           
 Session impersonate(Credentials otherCredentials)
          
 boolean isAdmin()
          Returns true if this session has been created for the administrator.
 boolean isLive()
          
 boolean isSystem()
          Returns true if the subject contains a SystemPrincipal; false otherwise.
 boolean itemExists(String absPath)
          
 void logout()
          Invalidates this session and releases all associated resources.
 void move(String srcAbsPath, String destAbsPath)
          
 boolean nodeExists(String absPath)
           
protected  void notifyLoggedOut()
          Notify the listeners that this session has been closed.
protected  void notifyLoggingOut()
          Notify the listeners that this session is about to be closed.
 boolean propertyExists(String absPath)
           
 void refresh(boolean keepChanges)
          
 void removeItem(String absPath)
           
 void removeListener(SessionListener listener)
          Remove a SessionListener
 void removeLockToken(String lt)
          
protected  String retrieveUserId(Subject subject, String workspaceName)
          Retrieve the userID from the specified subject.
 void save()
          
 void setAttribute(String name, Object value)
          Sets the named attribute.
 void setNamespacePrefix(String prefix, String uri)
          
 String toString()
          Returns the unique internal name of this session.
 
Methods inherited from class org.apache.jackrabbit.commons.AbstractSession
exportDocumentView, exportDocumentView, exportSystemView, exportSystemView, getNamespacePrefix, getNamespacePrefixes, getNamespaceURI, importXML
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.jcr.Session
exportDocumentView, exportDocumentView, exportSystemView, exportSystemView, getNamespacePrefix, getNamespacePrefixes, getNamespaceURI, importXML
 

Field Detail

DISABLE_CLUSTER_SYNC_ON_REFRESH

public static final String DISABLE_CLUSTER_SYNC_ON_REFRESH
Name of the session attribute that controls whether the refresh(boolean) method will cause the repository to synchronize itself to changes in other cluster nodes. This cluster synchronization is enabled by default, unless an attribute with this name is set (any non-null value) for this session.

Since:
Apache Jackrabbit 1.6
See Also:
JCR-1753, Constant Field Values

AUTO_FIX_CORRUPTIONS

public static final String AUTO_FIX_CORRUPTIONS
Name of the session attribute that controls whether repository inconsistencies should be automatically fixed when traversing over child nodes, when trying to add a child node, or removing a child node.

Since:
Apache Jackrabbit 2.2
See Also:
JCR-2740, Constant Field Values

context

protected final SessionContext context
The component context of this session.


repositoryContext

protected final RepositoryContext repositoryContext
The component context of the repository that issued this session.


loginContext

protected AuthContext loginContext
the AuthContext of this session (can be null if this session was not instantiated through a login process)


subject

protected final Subject subject
the Subject of this session


userId

protected final String userId
the user ID that was used to acquire this session


attributes

protected final Map<String,Object> attributes
the attributes of this session


namePathResolver

protected org.apache.jackrabbit.spi.commons.conversion.NamePathResolver namePathResolver
Name and Path resolver


versionMgr

protected final InternalVersionManager versionMgr
The version manager for this session


listeners

protected final Map<SessionListener,SessionListener> listeners
Listeners (weak references)

Constructor Detail

SessionImpl

protected SessionImpl(RepositoryContext repositoryContext,
                      AuthContext loginContext,
                      WorkspaceConfig wspConfig)
               throws AccessDeniedException,
                      RepositoryException
Protected constructor.

Parameters:
repositoryContext - repository context
loginContext -
wspConfig -
Throws:
AccessDeniedException - if the subject of the given login context is not granted access to the specified workspace
RepositoryException - if another error occurs

SessionImpl

protected SessionImpl(RepositoryContext repositoryContext,
                      Subject subject,
                      WorkspaceConfig wspConfig)
               throws AccessDeniedException,
                      RepositoryException
Protected constructor.

Parameters:
repositoryContext - repository context
subject -
wspConfig -
Throws:
AccessDeniedException - if the given subject is not granted access to the specified workspace
RepositoryException - if another error occurs
Method Detail

retrieveUserId

protected String retrieveUserId(Subject subject,
                                String workspaceName)
                         throws RepositoryException
Retrieve the userID from the specified subject.

Returns:
the userID.
Throws:
RepositoryException

createSessionItemStateManager

protected SessionItemStateManager createSessionItemStateManager()
Create the session item state manager.

Returns:
session item state manager

createItemManager

protected ItemManager createItemManager()
Create the item manager.

Returns:
item manager

createObservationManager

protected ObservationManagerImpl createObservationManager(String wspName)
                                                   throws RepositoryException
Throws:
RepositoryException

createVersionManager

protected InternalVersionManager createVersionManager()
                                               throws RepositoryException
Create the version manager. If we are not using XA, we may safely use the repository version manager.

Returns:
version manager
Throws:
RepositoryException

createAccessManager

protected AccessManager createAccessManager(Subject subject)
                                     throws AccessDeniedException,
                                            RepositoryException
Create the access manager.

Parameters:
subject -
Returns:
access manager
Throws:
AccessDeniedException - if the current subject is not granted access to the current workspace
RepositoryException - if the access manager cannot be instantiated

getSubject

public Subject getSubject()
Returns a read only copy of the Subject associated with this session.

Returns:
a read only copy of Subject associated with this session

isSystem

public boolean isSystem()
Returns true if the subject contains a SystemPrincipal; false otherwise.

Returns:
true if this is an system session.

isAdmin

public boolean isAdmin()
Returns true if this session has been created for the administrator. False otherwise.

Returns:
true if this is an admin session.

createSession

public Session createSession(String workspaceName)
                      throws AccessDeniedException,
                             NoSuchWorkspaceException,
                             RepositoryException
Creates a new session with the same subject as this sessions but to a different workspace. The returned session is a newly logged in session, with the same subject but a different workspace. Even if the given workspace is the same as this sessions one, the implementation must return a new session object.

Parameters:
workspaceName - name of the workspace to acquire a session for.
Returns:
A session to the requested workspace for the same authenticated subject.
Throws:
AccessDeniedException - in case the current Subject is not allowed to access the requested Workspace
NoSuchWorkspaceException - If the named workspace does not exist.
RepositoryException - in any other exceptional state

getAccessManager

public AccessManager getAccessManager()
Returns the AccessManager associated with this session.

Returns:
the AccessManager associated with this session

getNodeTypeManager

public NodeTypeManagerImpl getNodeTypeManager()
Returns the NodeTypeManager.

Returns:
the NodeTypeManager

getItemManager

public ItemManager getItemManager()
Returns the ItemManager of this session.

Returns:
the ItemManager

getHierarchyManager

public HierarchyManager getHierarchyManager()
Returns the HierarchyManager associated with this session.

Returns:
the HierarchyManager associated with this session

getInternalVersionManager

public InternalVersionManager getInternalVersionManager()
Returns the InternalVersionManager associated with this session.

Returns:
the InternalVersionManager associated with this session

getRetentionRegistry

protected RetentionRegistry getRetentionRegistry()
                                          throws RepositoryException
Returns the internal retention manager used for evaluation of effective retention policies and holds.

Returns:
internal retention manager
Throws:
RepositoryException

setAttribute

public void setAttribute(String name,
                         Object value)
Sets the named attribute. If the value is null, then the named attribute is removed.

Specified by:
setAttribute in interface org.apache.jackrabbit.spi.commons.SessionExtensions
Parameters:
name - attribute name
value - attribute value
Since:
Apache Jackrabbit 1.6
See Also:
JCR-1932

getNodeById

public NodeImpl getNodeById(NodeId id)
                     throws ItemNotFoundException,
                            RepositoryException
Retrieves the Node with the given id.

Parameters:
id - id of node to be retrieved
Returns:
node with the given NodeId.
Throws:
ItemNotFoundException - if no such node exists or if this Session does not have permission to access the node.
RepositoryException - if another error occurs.

notifyLoggingOut

protected void notifyLoggingOut()
Notify the listeners that this session is about to be closed.


notifyLoggedOut

protected void notifyLoggedOut()
Notify the listeners that this session has been closed.


addListener

public void addListener(SessionListener listener)
Add a SessionListener

Parameters:
listener - the new listener to be informed on modifications

removeListener

public void removeListener(SessionListener listener)
Remove a SessionListener

Parameters:
listener - an existing listener

createDataStoreGarbageCollector

public GarbageCollector createDataStoreGarbageCollector()
                                                 throws RepositoryException
Create a data store garbage collector for this repository.

Throws:
RepositoryException

getPrefix

public String getPrefix(String uri)
                 throws NamespaceException
Specified by:
getPrefix in interface org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver
Throws:
NamespaceException

getURI

public String getURI(String prefix)
              throws NamespaceException
Specified by:
getURI in interface org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver
Throws:
NamespaceException

getJCRName

public String getJCRName(org.apache.jackrabbit.spi.Name name)
                  throws NamespaceException
Specified by:
getJCRName in interface org.apache.jackrabbit.spi.commons.conversion.NameResolver
Throws:
NamespaceException

getQName

public org.apache.jackrabbit.spi.Name getQName(String name)
                                        throws org.apache.jackrabbit.spi.commons.conversion.IllegalNameException,
                                               NamespaceException
Specified by:
getQName in interface org.apache.jackrabbit.spi.commons.conversion.NameResolver
Throws:
org.apache.jackrabbit.spi.commons.conversion.IllegalNameException
NamespaceException

getJCRPath

public String getJCRPath(org.apache.jackrabbit.spi.Path path)
                  throws NamespaceException
Specified by:
getJCRPath in interface org.apache.jackrabbit.spi.commons.conversion.PathResolver
Throws:
NamespaceException

getQPath

public org.apache.jackrabbit.spi.Path getQPath(String path)
                                        throws org.apache.jackrabbit.spi.commons.conversion.MalformedPathException,
                                               org.apache.jackrabbit.spi.commons.conversion.IllegalNameException,
                                               NamespaceException
Specified by:
getQPath in interface org.apache.jackrabbit.spi.commons.conversion.PathResolver
Throws:
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
org.apache.jackrabbit.spi.commons.conversion.IllegalNameException
NamespaceException

getQPath

public org.apache.jackrabbit.spi.Path getQPath(String path,
                                               boolean normalizeIdentifier)
                                        throws org.apache.jackrabbit.spi.commons.conversion.MalformedPathException,
                                               org.apache.jackrabbit.spi.commons.conversion.IllegalNameException,
                                               NamespaceException
Specified by:
getQPath in interface org.apache.jackrabbit.spi.commons.conversion.PathResolver
Throws:
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
org.apache.jackrabbit.spi.commons.conversion.IllegalNameException
NamespaceException

getPath

public org.apache.jackrabbit.spi.Path getPath(String identifier)
                                       throws org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
Specified by:
getPath in interface org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver
Throws:
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
See Also:
IdentifierResolver.getPath(String)

checkFormat

public void checkFormat(String identifier)
                 throws org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
Specified by:
checkFormat in interface org.apache.jackrabbit.spi.commons.conversion.IdentifierResolver
Throws:
org.apache.jackrabbit.spi.commons.conversion.MalformedPathException
See Also:
IdentifierResolver.checkFormat(String)

getPrincipalManager

public org.apache.jackrabbit.api.security.principal.PrincipalManager getPrincipalManager()
                                                                                  throws RepositoryException,
                                                                                         AccessDeniedException
Specified by:
getPrincipalManager in interface org.apache.jackrabbit.api.JackrabbitSession
Throws:
RepositoryException
AccessDeniedException
See Also:
JackrabbitSession.getPrincipalManager()

getUserManager

public org.apache.jackrabbit.api.security.user.UserManager getUserManager()
                                                                   throws AccessDeniedException,
                                                                          RepositoryException
Specified by:
getUserManager in interface org.apache.jackrabbit.api.JackrabbitSession
Throws:
AccessDeniedException
RepositoryException
See Also:
JackrabbitSession.getUserManager()

checkPermission

public void checkPermission(String absPath,
                            String actions)
                     throws AccessControlException,
                            RepositoryException

Specified by:
checkPermission in interface Session
Throws:
AccessControlException
RepositoryException

getWorkspace

public Workspace getWorkspace()

Specified by:
getWorkspace in interface Session

impersonate

public Session impersonate(Credentials otherCredentials)
                    throws LoginException,
                           RepositoryException

Specified by:
impersonate in interface Session
Overrides:
impersonate in class org.apache.jackrabbit.commons.AbstractSession
Throws:
LoginException
RepositoryException

getRootNode

public Node getRootNode()
                 throws RepositoryException

Specified by:
getRootNode in interface Session
Throws:
RepositoryException

getNodeByUUID

public Node getNodeByUUID(String uuid)
                   throws ItemNotFoundException,
                          RepositoryException

Specified by:
getNodeByUUID in interface Session
Throws:
ItemNotFoundException
RepositoryException

getItem

public Item getItem(String absPath)
             throws RepositoryException

Specified by:
getItem in interface Session
Overrides:
getItem in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException

itemExists

public boolean itemExists(String absPath)
                   throws RepositoryException

Specified by:
itemExists in interface Session
Overrides:
itemExists in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException

save

public void save()
          throws RepositoryException

Specified by:
save in interface Session
Throws:
RepositoryException

refresh

public void refresh(boolean keepChanges)
             throws RepositoryException

Specified by:
refresh in interface Session
Throws:
RepositoryException

clusterSyncOnRefresh

protected boolean clusterSyncOnRefresh()
Checks whether the refresh(boolean) method should cause cluster synchronization.

Subclasses can override this method to implement alternative rules on when cluster synchronization should be done.

Returns:
true if the DISABLE_CLUSTER_SYNC_ON_REFRESH attribute is not set, false otherwise
Since:
Apache Jackrabbit 1.6
See Also:
JCR-1753

autoFixCorruptions

protected boolean autoFixCorruptions()
Checks whether repository inconsistencies should be automatically fixed when traversing over child nodes, when trying to add a child node, or when removing a child node.

Returns:
true if the AUTO_FIX_CORRUPTIONS attribute is set, false otherwise
Since:
Apache Jackrabbit 2.2
See Also:
JCR-2740

hasPendingChanges

public boolean hasPendingChanges()
                          throws RepositoryException

Specified by:
hasPendingChanges in interface Session
Throws:
RepositoryException

move

public void move(String srcAbsPath,
                 String destAbsPath)
          throws RepositoryException

Specified by:
move in interface Session
Throws:
RepositoryException

getImportContentHandler

public ContentHandler getImportContentHandler(String parentAbsPath,
                                              int uuidBehavior)
                                       throws PathNotFoundException,
                                              ConstraintViolationException,
                                              VersionException,
                                              LockException,
                                              RepositoryException

Specified by:
getImportContentHandler in interface Session
Throws:
PathNotFoundException
ConstraintViolationException
VersionException
LockException
RepositoryException

isLive

public boolean isLive()

Specified by:
isLive in interface Session

logout

public void logout()
Invalidates this session and releases all associated resources.

Specified by:
logout in interface Session
Overrides:
logout in class org.apache.jackrabbit.commons.AbstractSession

getRepository

public Repository getRepository()

Specified by:
getRepository in interface Session

getValueFactory

public ValueFactory getValueFactory()

Specified by:
getValueFactory in interface Session

getUserID

public String getUserID()

Specified by:
getUserID in interface Session

getAttribute

public Object getAttribute(String name)

Specified by:
getAttribute in interface Session

getAttributeNames

public String[] getAttributeNames()

Specified by:
getAttributeNames in interface Session

setNamespacePrefix

public void setNamespacePrefix(String prefix,
                               String uri)
                        throws NamespaceException,
                               RepositoryException

Specified by:
setNamespacePrefix in interface Session
Overrides:
setNamespacePrefix in class org.apache.jackrabbit.commons.AbstractSession
Throws:
NamespaceException
RepositoryException

addLockToken

public void addLockToken(String lt)

Specified by:
addLockToken in interface Session

getLockTokens

public String[] getLockTokens()

Specified by:
getLockTokens in interface Session

removeLockToken

public void removeLockToken(String lt)

Specified by:
removeLockToken in interface Session

getLocks

public Lock[] getLocks()
Returns all locks owned by this session.

Returns:
an array of Locks

getNodeByIdentifier

public Node getNodeByIdentifier(String id)
                         throws ItemNotFoundException,
                                RepositoryException
Specified by:
getNodeByIdentifier in interface Session
Throws:
ItemNotFoundException
RepositoryException
Since:
JCR 2.0
See Also:
Session.getNodeByIdentifier(String)

getNode

public Node getNode(String absPath)
             throws RepositoryException
Specified by:
getNode in interface Session
Overrides:
getNode in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.getNode(String)

getProperty

public Property getProperty(String absPath)
                     throws RepositoryException
Specified by:
getProperty in interface Session
Overrides:
getProperty in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.getProperty(String)

nodeExists

public boolean nodeExists(String absPath)
                   throws RepositoryException
Specified by:
nodeExists in interface Session
Overrides:
nodeExists in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.nodeExists(String)

propertyExists

public boolean propertyExists(String absPath)
                       throws RepositoryException
Specified by:
propertyExists in interface Session
Overrides:
propertyExists in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.propertyExists(String)

removeItem

public void removeItem(String absPath)
                throws RepositoryException
Specified by:
removeItem in interface Session
Overrides:
removeItem in class org.apache.jackrabbit.commons.AbstractSession
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.removeItem(String)

hasPermission

public boolean hasPermission(String absPath,
                             String actions)
                      throws RepositoryException
Specified by:
hasPermission in interface Session
Throws:
RepositoryException
Since:
2.0
See Also:
Session.hasPermission(String, String)

hasCapability

public boolean hasCapability(String methodName,
                             Object target,
                             Object[] arguments)
                      throws RepositoryException
Specified by:
hasCapability in interface Session
Throws:
RepositoryException
Since:
JCR 2.0
See Also:
Session.hasCapability(String, Object, Object[])

getAccessControlManager

public AccessControlManager getAccessControlManager()
                                             throws UnsupportedRepositoryOperationException,
                                                    RepositoryException
Specified by:
getAccessControlManager in interface Session
Throws:
UnsupportedRepositoryOperationException
RepositoryException
Since:
JCR 2.0
See Also:
Session.getAccessControlManager()

getRetentionManager

public RetentionManager getRetentionManager()
                                     throws UnsupportedRepositoryOperationException,
                                            RepositoryException
Specified by:
getRetentionManager in interface Session
Throws:
UnsupportedRepositoryOperationException
RepositoryException
Since:
JCR 2.0
See Also:
Session.getRetentionManager()

toString

public String toString()
Returns the unique internal name of this session. The returned name is especially useful for debugging and logging purposes.

Overrides:
toString in class Object
Returns:
session name
See Also:
sessionName

finalize

public void finalize()
Finalize the session. If the application doesn't call Session.logout(), the session is closed automatically; however a warning is written to the log file, together with the stack trace of where the session was opened.

Overrides:
finalize in class Object


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