public interface HippoSession
extends javax.jcr.Session
Session
based session. Any JCR Session obtained from the Hippo Repository
also implements HippoSession allowing access to the extensions to the JCR API.Modifier and Type | Method and Description |
---|---|
javax.jcr.Node |
copy(javax.jcr.Node srcNode,
String destAbsNodePath)
Deprecated.
Use
JcrUtils.copy(javax.jcr.Session, String, String) instead |
javax.jcr.Session |
createSecurityDelegate(javax.jcr.Session session,
DomainRuleExtension... domainExtensions)
Create a new Session that contains the union of access control rules
of this Session and the provided session, with the optional addition
of custom domain rules.
|
void |
disableVirtualLayers()
Disable virtual layers.
|
void |
exportDereferencedView(String absPath,
ContentHandler contentHandler,
boolean binaryAsLink,
boolean noRecurse)
Export a dereferenced view of a node.
|
void |
exportDereferencedView(String absPath,
OutputStream out,
boolean binaryAsLink,
boolean noRecurse)
Export a dereferenced view of a node.
|
File |
exportEnhancedSystemViewPackage(String parentAbsPath,
boolean recurse) |
ClassLoader |
getSessionClassLoader()
This call is not (yet) part of the API, but under evaluation.
Probably it will change into getSessionClassLoader(Node) or similar.
|
SessionUser |
getUser()
Get the
User object identified by this session's user id. |
HippoWorkspace |
getWorkspace()
Convenient return type override for getting the HippoWorkspace without needing to typecast
|
XAResource |
getXAResource()
Retrieves an
XAResource object that the transaction manager
will use to manage this XASession object's participation in
a distributed transaction. |
ImportResult |
importEnhancedSystemViewXML(String parentAbsPath,
InputStream in,
int uuidBehavior,
int referenceBehavior,
ContentResourceLoader referredResourceLoader)
Import an enhanced system view xml file.
|
boolean |
isSystemSession()
If this is a JCR System Session, having all privileges everywhere.
|
boolean |
isUserInRole(String userRoleName)
Check if a user has the specified userRole assigned, or is implied by one of the userRoles assigned.
|
void |
localRefresh()
This method discards all pending changes currently recorded in this
Session ,
including the built-up virtual node states. |
javax.jcr.NodeIterator |
pendingChanges()
Largely a conveniance method for
pendingChanges(Session.getRootNode(), "nt:base", false) however
will also return the root node if modified. |
javax.jcr.NodeIterator |
pendingChanges(javax.jcr.Node node,
String nodeType)
Conveniance method for
pendingChanges(node,nodeType,false) |
javax.jcr.NodeIterator |
pendingChanges(javax.jcr.Node node,
String nodeType,
boolean prune)
Obtains an iterator over the set of nodes that potentially contain
changes, starting (and not including) the indicated node.
|
addLockToken, checkPermission, exportDocumentView, exportDocumentView, exportSystemView, exportSystemView, getAccessControlManager, getAttribute, getAttributeNames, getImportContentHandler, getItem, getLockTokens, getNamespacePrefix, getNamespacePrefixes, getNamespaceURI, getNode, getNodeByIdentifier, getNodeByUUID, getProperty, getRepository, getRetentionManager, getRootNode, getUserID, getValueFactory, hasCapability, hasPendingChanges, hasPermission, impersonate, importXML, isLive, itemExists, logout, move, nodeExists, propertyExists, refresh, removeItem, removeLockToken, save, setNamespacePrefix
javax.jcr.Node copy(javax.jcr.Node srcNode, String destAbsNodePath) throws javax.jcr.RepositoryException
JcrUtils.copy(javax.jcr.Session, String, String)
insteadsrcNode
- the node to copydestAbsNodePath
- the absolute path of the to be created target
node which will be a copy of srcNodejavax.jcr.RepositoryException
- a generic error while accessing the repositoryjavax.jcr.NodeIterator pendingChanges(javax.jcr.Node node, String nodeType, boolean prune) throws javax.jcr.NamespaceException, javax.jcr.nodetype.NoSuchNodeTypeException, javax.jcr.RepositoryException
Node.isNodeType(nodeType)
returns
true are included in the resulting set. If the prune boolean value is
true, then the nodes matching in the hierarchy first are returned. If
matching modified node exists beneath the nodes, these are not
included.node
- The starting node for which to look for changes, will not
be included in result, may be null to indicate to search whole treenodeType
- Only nodes that are (derived) of this nodeType are
included in the result, may be null to indicate no filtering on nodeTypeprune
- Wheter only to return the first matching modified node in
a subtree (true), or provide a depth search for all modified
nodes (false)javax.jcr.NamespaceException
- an invalid nodeType was passedjavax.jcr.RepositoryException
- a generic error while accessing the repositoryjavax.jcr.nodetype.NoSuchNodeTypeException
- an invalid nodeType was passedjavax.jcr.NodeIterator pendingChanges(javax.jcr.Node node, String nodeType) throws javax.jcr.NamespaceException, javax.jcr.nodetype.NoSuchNodeTypeException, javax.jcr.RepositoryException
pendingChanges(node,nodeType,false)
node
- The starting node for which to look for changes, will not
be included in result, may be null to indicate to search whole treenodeType
- Only nodes that are (derived) of this nodeType are
included in the result, may be null to indicate no filtering on nodeTypejavax.jcr.NamespaceException
- an invalid nodeType was passedjavax.jcr.RepositoryException
- a generic error while accessing the repositoryjavax.jcr.nodetype.NoSuchNodeTypeException
- an invalid nodeType was passedpendingChanges(Node,String,boolean)
javax.jcr.NodeIterator pendingChanges() throws javax.jcr.RepositoryException
pendingChanges(Session.getRootNode(), "nt:base", false)
however
will also return the root node if modified.javax.jcr.RepositoryException
pendingChanges(Node,String,boolean)
void exportDereferencedView(String absPath, OutputStream out, boolean binaryAsLink, boolean noRecurse) throws IOException, javax.jcr.PathNotFoundException, javax.jcr.RepositoryException
absPath
- the absolute path to the subtree to be exportedout
- the output stream to which the resulting XML should be outputtedbinaryAsLink
- whether to include binariesnoRecurse
- whether to output just a single node or the whole subtreeIOException
- in case of an error writing to the output streamjavax.jcr.RepositoryException
- a generic error while accessing the repositoryjavax.jcr.PathNotFoundException
- in case the absPath parameter does not point to a valid nodeSession.exportSystemView(String,OutputStream,boolean,boolean)
void exportDereferencedView(String absPath, ContentHandler contentHandler, boolean binaryAsLink, boolean noRecurse) throws javax.jcr.PathNotFoundException, SAXException, javax.jcr.RepositoryException
absPath
- the absolute path to the subtree to be exportedcontentHandler
- The org.xml.sax.ContentHandler
to
which the SAX events representing the XML serialization of the subgraph
will be output.binaryAsLink
- whether to include binariesnoRecurse
- whether to output just a single node or the whole subtreejavax.jcr.RepositoryException
- a generic error while accessing the repositoryjavax.jcr.PathNotFoundException
- in case the absPath parameter does not point to a valid nodeSAXException
Session.exportSystemView(String,OutputStream,boolean,boolean)
ImportResult importEnhancedSystemViewXML(String parentAbsPath, InputStream in, int uuidBehavior, int referenceBehavior, ContentResourceLoader referredResourceLoader) throws IOException, javax.jcr.RepositoryException
parentAbsPath
- the parent node below which to inin
- the input stream from which to read the XMLuuidBehavior
- how to handle deserialized UUIDs in the input stream ImportUUIDBehavior
referenceBehavior
- an options flag containing one of the values of ImportReferenceBehavior
indicating how to handle referencesreferredResourceLoader
- the content resouce loader to load the referred imported content resourcesIOException
- if incoming stream is not a valid XML document.javax.jcr.RepositoryException
- a generic error while accessing the repositoryexportDereferencedView(String,OutputStream,boolean,boolean)
,
Session.importXML(java.lang.String, java.io.InputStream, int)
,
ImportReferenceBehavior
File exportEnhancedSystemViewPackage(String parentAbsPath, boolean recurse) throws IOException, javax.jcr.RepositoryException
IOException
javax.jcr.RepositoryException
XAResource getXAResource()
XAResource
object that the transaction manager
will use to manage this XASession object's participation in
a distributed transaction.XAResource
object.ClassLoader getSessionClassLoader() throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
- a generic error while accessing the repositoryboolean isSystemSession()
For a JCR System Session isUserInRole(String)
and Session.hasPermission(String, String)
will always
return true!
This should NOT be confused with User.isSystemUser()
which indicates a required and non-human
type of user necessary for the running system itself.
A JCR System Session also does NOT have a User
representation and calling getUser()
for a JCR Session Session will result in a ItemNotFoundException
!
SessionUser getUser() throws javax.jcr.ItemNotFoundException
User
object identified by this session's user id.User
object identified by this session's user id.javax.jcr.ItemNotFoundException
- when {isSystemSession()
} returns trueboolean isUserInRole(String userRoleName)
For a isSystemSession()
this always returns true.
userRoleName
- the user role name to checkjavax.jcr.Session createSecurityDelegate(javax.jcr.Session session, DomainRuleExtension... domainExtensions) throws javax.jcr.RepositoryException
javax.jcr.RepositoryException
void localRefresh()
Session
,
including the built-up virtual node states. The difference with Session.refresh(boolean false)
is
that after this method returns, the state of the items is not guaranteed to reflect the current
persistent storage because in a clustered environment, the cluster node is not synced as a result of this call.void disableVirtualLayers()
HippoWorkspace getWorkspace()
getWorkspace
in interface javax.jcr.Session
Copyright © 2007–2019 Hippo B.V. (http://www.onehippo.com). All rights reserved.