Package org.apache.jackrabbit.core
Class SessionImpl
- java.lang.Object
-
- org.apache.jackrabbit.commons.AbstractSession
-
- org.apache.jackrabbit.core.SessionImpl
-
- All Implemented Interfaces:
Session
,JackrabbitSession
,IdentifierResolver
,NamePathResolver
,NameResolver
,PathResolver
,NamespaceResolver
,SessionExtensions
- Direct Known Subclasses:
XASessionImpl
public class SessionImpl extends AbstractSession implements JackrabbitSession, SessionExtensions, NamespaceResolver, NamePathResolver, IdentifierResolver
ASessionImpl
...
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,Object>
attributes
the attributes of this sessionstatic 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 therefresh(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 NamePathResolver
namePathResolver
Name and Path resolverprotected RepositoryContext
repositoryContext
The component context of the repository that issued this session.protected Subject
subject
the Subject of this sessionprotected String
userId
the user ID that was used to acquire this sessionprotected InternalVersionManager
versionMgr
The version manager for this session-
Fields inherited from interface org.apache.jackrabbit.api.JackrabbitSession
ACTION_ADD_PROPERTY, ACTION_LOCKING, ACTION_MODIFY_ACCESS_CONTROL, ACTION_MODIFY_PROPERTY, ACTION_NODE_TYPE_MANAGEMENT, ACTION_READ_ACCESS_CONTROL, ACTION_REMOVE_NODE, ACTION_REMOVE_PROPERTY, ACTION_USER_MANAGEMENT, ACTION_VERSIONING
-
Fields inherited from interface javax.jcr.Session
ACTION_ADD_NODE, ACTION_READ, ACTION_REMOVE, ACTION_SET_PROPERTY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SessionImpl(RepositoryContext repositoryContext, Subject subject, WorkspaceConfig wspConfig)
Protected constructor.protected
SessionImpl(RepositoryContext repositoryContext, AuthContext loginContext, WorkspaceConfig wspConfig)
Protected constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(SessionListener listener)
Add aSessionListener
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 therefresh(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 theAccessManager
associated with this session.Object
getAttribute(String name)
String[]
getAttributeNames()
HierarchyManager
getHierarchyManager()
Returns theHierarchyManager
associated with this session.ContentHandler
getImportContentHandler(String parentAbsPath, int uuidBehavior)
InternalVersionManager
getInternalVersionManager()
Returns theInternalVersionManager
associated with this session.Item
getItem(String absPath)
Returns the node or property at the given path.ItemManager
getItemManager()
Returns theItemManager
of this session.Item
getItemOrNull(String absPath)
String
getJCRName(Name name)
Returns the qualified JCR name String for the givenName
object.String
getJCRPath(Path path)
Returns the given JCR path string for the given path object.Lock[]
getLocks()
Returns all locks owned by this session.String[]
getLockTokens()
Node
getNode(String absPath)
Returns the node with the given absolute path.NodeImpl
getNodeById(NodeId id)
Retrieves theNode
with the given id.Node
getNodeByIdentifier(String id)
Node
getNodeByUUID(String uuid)
Node
getNodeOrNull(String absPath)
NodeTypeManagerImpl
getNodeTypeManager()
Returns theNodeTypeManager
.Path
getPath(String identifier)
String
getPrefix(String uri)
Returns the prefix which is mapped to the given URI.PrincipalManager
getPrincipalManager()
Property
getProperty(String absPath)
Returns the property with the given absolute path.Property
getPropertyOrNull(String absPath)
Name
getQName(String name)
Returns theName
for the given JCR name String.Path
getQPath(String path)
Returns the path object for the given JCR path string.Path
getQPath(String path, boolean normalizeIdentifier)
Returns the path object for the given JCR path string.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 theSubject
associated with this session.String
getURI(String prefix)
Returns the URI to which the given prefix is mapped.String
getUserID()
UserManager
getUserManager()
ValueFactory
getValueFactory()
Workspace
getWorkspace()
boolean
hasCapability(String methodName, Object target, Object[] arguments)
boolean
hasPendingChanges()
boolean
hasPermission(String absPath, String actions)
boolean
hasPermission(String absPath, String... actions)
Session
impersonate(Credentials otherCredentials)
Logs in the same workspace with the given credentials.boolean
isAdmin()
Returnstrue
if this session has been created for the administrator.boolean
isLive()
boolean
isSystem()
Returnstrue
if the subject contains aSystemPrincipal
;false
otherwise.boolean
itemExists(String absPath)
CallsAbstractSession.getItem(String)
with the given path and returnstrue
if the call succeeds.void
logout()
Invalidates this session and releases all associated resources.void
move(String srcAbsPath, String destAbsPath)
boolean
nodeExists(String absPath)
Checks whether a node with the given absolute path exists.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)
Checks whether a property with the given absolute path exists.void
refresh(boolean keepChanges)
void
removeItem(String absPath)
Removes the identified item.void
removeListener(SessionListener listener)
Remove aSessionListener
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)
Modifies the session local namespace mappings to contain the given prefix to URI mapping.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 org.apache.jackrabbit.api.JackrabbitSession
getParentOrNull
-
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 therefresh(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
-
namePathResolver
protected 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 contextloginContext
-wspConfig
-- Throws:
AccessDeniedException
- if the subject of the given login context is not granted access to the specified workspaceRepositoryException
- if another error occurs
-
SessionImpl
protected SessionImpl(RepositoryContext repositoryContext, Subject subject, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
Protected constructor.- Parameters:
repositoryContext
- repository contextsubject
-wspConfig
-- Throws:
AccessDeniedException
- if the given subject is not granted access to the specified workspaceRepositoryException
- 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 workspaceRepositoryException
- if the access manager cannot be instantiated
-
getSubject
public Subject getSubject()
Returns a read only copy of theSubject
associated with this session.- Returns:
- a read only copy of
Subject
associated with this session
-
isSystem
public boolean isSystem()
Returnstrue
if the subject contains aSystemPrincipal
;false
otherwise.- Returns:
true
if this is an system session.
-
isAdmin
public boolean isAdmin()
Returnstrue
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 WorkspaceNoSuchWorkspaceException
- If the named workspace does not exist.RepositoryException
- in any other exceptional state
-
getAccessManager
public AccessManager getAccessManager()
Returns theAccessManager
associated with this session.- Returns:
- the
AccessManager
associated with this session
-
getNodeTypeManager
public NodeTypeManagerImpl getNodeTypeManager()
Returns theNodeTypeManager
.- Returns:
- the
NodeTypeManager
-
getItemManager
public ItemManager getItemManager()
Returns theItemManager
of this session.- Returns:
- the
ItemManager
-
getHierarchyManager
public HierarchyManager getHierarchyManager()
Returns theHierarchyManager
associated with this session.- Returns:
- the
HierarchyManager
associated with this session
-
getInternalVersionManager
public InternalVersionManager getInternalVersionManager()
Returns theInternalVersionManager
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 isnull
, then the named attribute is removed.- Specified by:
setAttribute
in interfaceSessionExtensions
- Parameters:
name
- attribute namevalue
- attribute value- Since:
- Apache Jackrabbit 1.6
- See Also:
- JCR-1932
-
getNodeById
public NodeImpl getNodeById(NodeId id) throws ItemNotFoundException, RepositoryException
Retrieves theNode
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 thisSession
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 aSessionListener
- Parameters:
listener
- the new listener to be informed on modifications
-
removeListener
public void removeListener(SessionListener listener)
Remove aSessionListener
- 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
Description copied from interface:NamespaceResolver
Returns the prefix which is mapped to the given URI.- Specified by:
getPrefix
in interfaceNamespaceResolver
- Parameters:
uri
- namespace URI- Returns:
- the prefix mapped to the given URI.
- Throws:
NamespaceException
- if the URI is unknown.
-
getURI
public String getURI(String prefix) throws NamespaceException
Description copied from interface:NamespaceResolver
Returns the URI to which the given prefix is mapped.- Specified by:
getURI
in interfaceNamespaceResolver
- Parameters:
prefix
- namespace prefix- Returns:
- the namespace URI to which the given prefix is mapped.
- Throws:
NamespaceException
- if the prefix is unknown.
-
getJCRName
public String getJCRName(Name name) throws NamespaceException
Description copied from interface:NameResolver
Returns the qualified JCR name String for the givenName
object.- Specified by:
getJCRName
in interfaceNameResolver
- Parameters:
name
- AName
object.- Returns:
- The qualified JCR name String consisting of
prefix:localName
orlocalName
in case of the empty namespace. - Throws:
NamespaceException
- if the namespace URI can not be resolved
-
getQName
public Name getQName(String name) throws IllegalNameException, NamespaceException
Description copied from interface:NameResolver
Returns theName
for the given JCR name String.- Specified by:
getQName
in interfaceNameResolver
- Parameters:
name
- A JCR name String.- Returns:
- A
Name
object. - Throws:
IllegalNameException
- if the JCR name format is invalidNamespaceException
- if the namespace prefix can not be resolved
-
getJCRPath
public String getJCRPath(Path path) throws NamespaceException
Description copied from interface:PathResolver
Returns the given JCR path string for the given path object.- Specified by:
getJCRPath
in interfacePathResolver
- Parameters:
path
- aPath
object.- Returns:
- a JCR path string
- Throws:
NamespaceException
- if a namespace URI can not be resolved
-
getQPath
public Path getQPath(String path) throws MalformedPathException, IllegalNameException, NamespaceException
Description copied from interface:PathResolver
Returns the path object for the given JCR path string.- Specified by:
getQPath
in interfacePathResolver
- Parameters:
path
- prefixed JCR path- Returns:
- a
Path
object. - Throws:
MalformedPathException
- if the JCR path format is invalid.IllegalNameException
- if any of the JCR names contained in the path are invalid.NamespaceException
- if a namespace prefix can not be resolved.
-
getQPath
public Path getQPath(String path, boolean normalizeIdentifier) throws MalformedPathException, IllegalNameException, NamespaceException
Description copied from interface:PathResolver
Returns the path object for the given JCR path string.- Specified by:
getQPath
in interfacePathResolver
- Parameters:
path
- prefixed JCR path- Returns:
- a
Path
object. - Throws:
MalformedPathException
- if the JCR path format is invalid.IllegalNameException
- if any of the JCR names contained in the path are invalid.NamespaceException
- if a namespace prefix can not be resolved.
-
getPath
public Path getPath(String identifier) throws MalformedPathException
- Specified by:
getPath
in interfaceIdentifierResolver
- Throws:
MalformedPathException
- See Also:
IdentifierResolver.getPath(String)
-
checkFormat
public void checkFormat(String identifier) throws MalformedPathException
- Specified by:
checkFormat
in interfaceIdentifierResolver
- Throws:
MalformedPathException
- See Also:
IdentifierResolver.checkFormat(String)
-
hasPermission
public boolean hasPermission(String absPath, String... actions) throws RepositoryException
- Specified by:
hasPermission
in interfaceJackrabbitSession
- Throws:
RepositoryException
- See Also:
JackrabbitSession.hasPermission(String, String...)
-
getPrincipalManager
public PrincipalManager getPrincipalManager() throws RepositoryException, AccessDeniedException
- Specified by:
getPrincipalManager
in interfaceJackrabbitSession
- Throws:
RepositoryException
AccessDeniedException
- See Also:
JackrabbitSession.getPrincipalManager()
-
getUserManager
public UserManager getUserManager() throws AccessDeniedException, RepositoryException
- Specified by:
getUserManager
in interfaceJackrabbitSession
- Throws:
AccessDeniedException
RepositoryException
- See Also:
JackrabbitSession.getUserManager()
-
getItemOrNull
public Item getItemOrNull(String absPath) throws RepositoryException
- Specified by:
getItemOrNull
in interfaceJackrabbitSession
- Throws:
RepositoryException
-
getPropertyOrNull
public Property getPropertyOrNull(String absPath) throws RepositoryException
- Specified by:
getPropertyOrNull
in interfaceJackrabbitSession
- Throws:
RepositoryException
-
getNodeOrNull
public Node getNodeOrNull(String absPath) throws RepositoryException
- Specified by:
getNodeOrNull
in interfaceJackrabbitSession
- Throws:
RepositoryException
-
checkPermission
public void checkPermission(String absPath, String actions) throws AccessControlException, RepositoryException
- Specified by:
checkPermission
in interfaceSession
- Throws:
AccessControlException
RepositoryException
-
getWorkspace
public Workspace getWorkspace()
- Specified by:
getWorkspace
in interfaceSession
-
impersonate
public Session impersonate(Credentials otherCredentials) throws LoginException, RepositoryException
Logs in the same workspace with the given credentials.The default implementation:
- Retrieves the
Repository
instance usingSession.getRepository()
- Retrieves the current workspace using
Session.getWorkspace()
- Retrieves the name of the current workspace using
Workspace.getName()
- Calls
Repository.login(Credentials, String)
on the retrieved repository with the given credentials and the retrieved workspace name.
- Specified by:
impersonate
in interfaceSession
- Overrides:
impersonate
in classAbstractSession
- Parameters:
otherCredentials
- login credentials- Returns:
- logged in session
- Throws:
RepositoryException
- if an error occursLoginException
- Retrieves the
-
getRootNode
public Node getRootNode() throws RepositoryException
- Specified by:
getRootNode
in interfaceSession
- Throws:
RepositoryException
-
getNodeByUUID
public Node getNodeByUUID(String uuid) throws ItemNotFoundException, RepositoryException
- Specified by:
getNodeByUUID
in interfaceSession
- Throws:
ItemNotFoundException
RepositoryException
-
getItem
public Item getItem(String absPath) throws RepositoryException
Returns the node or property at the given path.The default implementation:
- Returns the root node if the given path is "/"
- Delegates to
Session.getNodeByIdentifier(String)
for identifier paths - Throws a
PathNotFoundException
if the given path does not start with a slash. - Calls
Node.getNode(String)
on the root node with the part of the given path after the first slash - Calls
Node.getProperty(String)
similarly in case the above call fails with aPathNotFoundException
- Specified by:
getItem
in interfaceSession
- Overrides:
getItem
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
- the node or property with the given path
- Throws:
PathNotFoundException
- if the given path is invalid or not foundRepositoryException
- if another error occurs- See Also:
Session.getItem(String)
-
itemExists
public boolean itemExists(String absPath) throws RepositoryException
CallsAbstractSession.getItem(String)
with the given path and returnstrue
if the call succeeds. Returnsfalse
if aPathNotFoundException
was thrown. Other exceptions are passed through.- Specified by:
itemExists
in interfaceSession
- Overrides:
itemExists
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
true
if an item exists at the given path,false
otherwise- Throws:
RepositoryException
- if an error occurs- See Also:
Session.itemExists(String)
-
save
public void save() throws RepositoryException
- Specified by:
save
in interfaceSession
- Throws:
RepositoryException
-
refresh
public void refresh(boolean keepChanges) throws RepositoryException
- Specified by:
refresh
in interfaceSession
- Throws:
RepositoryException
-
clusterSyncOnRefresh
protected boolean clusterSyncOnRefresh()
Checks whether therefresh(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 theDISABLE_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 theAUTO_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 interfaceSession
- Throws:
RepositoryException
-
move
public void move(String srcAbsPath, String destAbsPath) throws RepositoryException
- Specified by:
move
in interfaceSession
- Throws:
RepositoryException
-
getImportContentHandler
public ContentHandler getImportContentHandler(String parentAbsPath, int uuidBehavior) throws PathNotFoundException, ConstraintViolationException, VersionException, LockException, RepositoryException
- Specified by:
getImportContentHandler
in interfaceSession
- Throws:
PathNotFoundException
ConstraintViolationException
VersionException
LockException
RepositoryException
-
logout
public void logout()
Invalidates this session and releases all associated resources.- Specified by:
logout
in interfaceSession
- Overrides:
logout
in classAbstractSession
-
getRepository
public Repository getRepository()
- Specified by:
getRepository
in interfaceSession
-
getValueFactory
public ValueFactory getValueFactory()
- Specified by:
getValueFactory
in interfaceSession
-
getAttribute
public Object getAttribute(String name)
- Specified by:
getAttribute
in interfaceSession
-
getAttributeNames
public String[] getAttributeNames()
- Specified by:
getAttributeNames
in interfaceSession
-
setNamespacePrefix
public void setNamespacePrefix(String prefix, String uri) throws NamespaceException, RepositoryException
Modifies the session local namespace mappings to contain the given prefix to URI mapping.This behaviour is based on JSR 283 (JCR 2.0), but remains backwards compatible with JCR 1.0.
- Specified by:
setNamespacePrefix
in interfaceSession
- Overrides:
setNamespacePrefix
in classAbstractSession
- Parameters:
prefix
- namespace prefixuri
- namespace URI- Throws:
NamespaceException
- if the mapping is illegalRepositoryException
- if a repository error occurs
-
addLockToken
public void addLockToken(String lt)
- Specified by:
addLockToken
in interfaceSession
-
getLockTokens
public String[] getLockTokens()
- Specified by:
getLockTokens
in interfaceSession
-
removeLockToken
public void removeLockToken(String lt)
- Specified by:
removeLockToken
in interfaceSession
-
getLocks
public Lock[] getLocks()
Returns all locks owned by this session.- Returns:
- an array of
Lock
s
-
getNodeByIdentifier
public Node getNodeByIdentifier(String id) throws ItemNotFoundException, RepositoryException
- Specified by:
getNodeByIdentifier
in interfaceSession
- Throws:
ItemNotFoundException
RepositoryException
- Since:
- JCR 2.0
- See Also:
Session.getNodeByIdentifier(String)
-
getNode
public Node getNode(String absPath) throws RepositoryException
Description copied from class:AbstractSession
Returns the node with the given absolute path.- Specified by:
getNode
in interfaceSession
- Overrides:
getNode
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
- node at the given path
- Throws:
RepositoryException
- if the node can not be accessed- Since:
- JCR 2.0
- See Also:
Session.getNode(String)
-
getProperty
public Property getProperty(String absPath) throws RepositoryException
Description copied from class:AbstractSession
Returns the property with the given absolute path.- Specified by:
getProperty
in interfaceSession
- Overrides:
getProperty
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
- node at the given path
- Throws:
RepositoryException
- if the property can not be accessed- Since:
- JCR 2.0
- See Also:
Session.getProperty(String)
-
nodeExists
public boolean nodeExists(String absPath) throws RepositoryException
Description copied from class:AbstractSession
Checks whether a node with the given absolute path exists.- Specified by:
nodeExists
in interfaceSession
- Overrides:
nodeExists
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
true
if a node with the given path exists,false
otherwise- Throws:
RepositoryException
- if the path is invalid- Since:
- JCR 2.0
- See Also:
Session.nodeExists(String)
-
propertyExists
public boolean propertyExists(String absPath) throws RepositoryException
Description copied from class:AbstractSession
Checks whether a property with the given absolute path exists.- Specified by:
propertyExists
in interfaceSession
- Overrides:
propertyExists
in classAbstractSession
- Parameters:
absPath
- absolute path- Returns:
true
if a property with the given path exists,false
otherwise- Throws:
RepositoryException
- if the path is invalid- Since:
- JCR 2.0
- See Also:
Session.propertyExists(String)
-
removeItem
public void removeItem(String absPath) throws RepositoryException
Description copied from class:AbstractSession
Removes the identified item. Implemented by callingItem.remove()
on the item removed byAbstractSession.getItem(String)
.- Specified by:
removeItem
in interfaceSession
- Overrides:
removeItem
in classAbstractSession
- Parameters:
absPath
- An absolute path of the item to be removed- Throws:
RepositoryException
- if the item can not be removed- Since:
- JCR 2.0
- See Also:
Session.removeItem(String)
-
hasPermission
public boolean hasPermission(String absPath, String actions) throws RepositoryException
- Specified by:
hasPermission
in interfaceSession
- 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 interfaceSession
- Throws:
RepositoryException
- Since:
- JCR 2.0
- See Also:
Session.hasCapability(String, Object, Object[])
-
getAccessControlManager
public AccessControlManager getAccessControlManager() throws UnsupportedRepositoryOperationException, RepositoryException
- Specified by:
getAccessControlManager
in interfaceSession
- Throws:
UnsupportedRepositoryOperationException
RepositoryException
- Since:
- JCR 2.0
- See Also:
Session.getAccessControlManager()
-
getRetentionManager
public RetentionManager getRetentionManager() throws UnsupportedRepositoryOperationException, RepositoryException
- Specified by:
getRetentionManager
in interfaceSession
- 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 classObject
- Returns:
- session name
- See Also:
sessionName
-
-