public class WorkspaceManager extends Object implements UpdatableItemStateManager, NamespaceStorage, AccessManager
WorkspaceManager...ADD_NODE_ACTION, READ, READ_ACTION, REMOVE, REMOVE_ACTION, SET_PROPERTY_ACTION| Constructor and Description |
|---|
WorkspaceManager(RepositoryConfig config,
SessionInfo sessionInfo,
boolean observationSupported) |
| Modifier and Type | Method and Description |
|---|---|
void |
addEventListener(InternalEventListener listener)
Sets the
InternalEventListener that gets notifications about
local and external changes. |
void |
addLockToken(String lt)
This method succeeds if the lock tokens could be added to the
SessionInfo. |
boolean |
canAccess(String workspaceName)
Determines whether the subject of the current context is granted access
to the given workspace.
|
boolean |
canRead(ItemState itemState)
Returns true if the existing item with the given
ItemId can
be read. |
boolean |
canRemove(ItemState itemState)
Returns true if the existing item state can be removed.
|
String[] |
checkQueryStatement(String statement,
String language,
Map<String,String> namespaces)
Checks if the query statement is valid.
|
EventFilter |
createEventFilter(int eventTypes,
Path path,
boolean isDeep,
String[] uuids,
Name[] nodeTypes,
boolean noLocal)
Creates an event filter based on the parameters available in
ObservationManager.addEventListener(javax.jcr.observation.EventListener, int, java.lang.String, boolean, java.lang.String[], java.lang.String[], boolean). |
void |
dispose()
Dispose this
WorkspaceManager |
void |
execute(ChangeLog changes)
Creates a new batch from the given
ChangeLog and executes it. |
void |
execute(Operation operation)
Creates a new batch from the single workspace operation and executes it.
|
QueryInfo |
executeQuery(String statement,
String language,
Map<String,String> namespaces,
long limit,
long offset,
Map<String,QValue> boundValues) |
AccessControlProvider |
getAccessControlProvider()
Locates and instantiates an AccessControlProvider implementation.
|
EffectiveNodeTypeProvider |
getEffectiveNodeTypeProvider() |
EventBundle |
getEvents(EventFilter filter,
long after)
Returns the events from the journal that occurred after a given date.
|
HierarchyManager |
getHierarchyManager() |
IdFactory |
getIdFactory() |
ItemDefinitionProvider |
getItemDefinitionProvider() |
ItemStateFactory |
getItemStateFactory() |
LockInfo |
getLockInfo(NodeId nodeId) |
String[] |
getLockTokens()
Returns the lock tokens present with the
SessionInfo. |
NameFactory |
getNameFactory() |
NamespaceRegistryImpl |
getNamespaceRegistryImpl() |
NodeTypeRegistry |
getNodeTypeRegistry() |
PathFactory |
getPathFactory() |
String |
getPrefix(String uri) |
Map<String,String> |
getRegisteredNamespaces() |
String[] |
getSupportedQueryLanguages() |
String |
getURI(String prefix) |
String[] |
getWorkspaceNames() |
boolean |
isGranted(ItemState itemState,
String[] actions)
Determines whether the specified
permissions are granted
on the item with the specified path. |
boolean |
isGranted(NodeState parentState,
Path relPath,
String[] actions)
Determines whether the specified
permissions are granted
on the item with the specified path. |
void |
registerNamespace(String prefix,
String uri) |
void |
removeEventListener(InternalEventListener listener) |
void |
removeLockToken(String lt)
Tries to remove the given token from the
SessionInfo. |
void |
setUserData(String userData) |
void |
unregisterNamespace(String uri) |
void |
updateEventFilters()
Updates the event filters on the subscription.
|
public WorkspaceManager(RepositoryConfig config, SessionInfo sessionInfo, boolean observationSupported) throws RepositoryException
RepositoryExceptionpublic NamespaceRegistryImpl getNamespaceRegistryImpl()
public NodeTypeRegistry getNodeTypeRegistry()
public ItemDefinitionProvider getItemDefinitionProvider()
public EffectiveNodeTypeProvider getEffectiveNodeTypeProvider()
public HierarchyManager getHierarchyManager()
public String[] getWorkspaceNames() throws RepositoryException
RepositoryExceptionpublic IdFactory getIdFactory()
public NameFactory getNameFactory()
public PathFactory getPathFactory()
public ItemStateFactory getItemStateFactory()
public AccessControlProvider getAccessControlProvider() throws RepositoryException
RepositoryExceptionpublic LockInfo getLockInfo(NodeId nodeId) throws RepositoryException
RepositoryExceptionpublic String[] getLockTokens() throws UnsupportedRepositoryOperationException, RepositoryException
SessionInfo.SessionInfo.UnsupportedRepositoryOperationException - If not supported.RepositoryException - If another error occurs.SessionInfo.getLockTokens()public void addLockToken(String lt) throws UnsupportedRepositoryOperationException, LockException, RepositoryException
SessionInfo.lt - The lock token to be added.UnsupportedRepositoryOperationException - If not supported.LockException - If a lock related exception occurs.RepositoryException - If another exception occurs.SessionInfo.addLockToken(String)public void removeLockToken(String lt) throws UnsupportedRepositoryOperationException, LockException, RepositoryException
SessionInfo.lt - The lock token to be removed.UnsupportedRepositoryOperationException - If not supported.LockException - If a lock related exception occurs, e.g if the
session info does not contain the specified lock token.RepositoryException - If another exception occurs.SessionInfo.removeLockToken(String)public String[] getSupportedQueryLanguages() throws RepositoryException
RepositoryException - If an error occurs.public String[] checkQueryStatement(String statement, String language, Map<String,String> namespaces) throws InvalidQueryException, RepositoryException
statement - the query statement.language - the query language.namespaces - the locally remapped namespaces which might be used in
the query statement.InvalidQueryException - if the query statement is invalid.RepositoryException - if an error occurs while checking the query
statement.public QueryInfo executeQuery(String statement, String language, Map<String,String> namespaces, long limit, long offset, Map<String,QValue> boundValues) throws RepositoryException
statement - the query statement.language - the query language.namespaces - the locally remapped namespaces which might be used in
the query statement.limit - The result size limit as specified by Query.setLimit(long).offset - The result offset as specified by Query.setOffset(long)boundValues - The bound values as specified by Query.bindValue(String, javax.jcr.Value)RepositoryService.executeQuery(org.apache.jackrabbit.spi.SessionInfo, String, String, java.util.Map, long, long, java.util.Map).RepositoryException - If an error occurs.public void addEventListener(InternalEventListener listener) throws RepositoryException
InternalEventListener that gets notifications about
local and external changes.listener - the new listener.RepositoryException - if the listener cannot be registered.public void updateEventFilters()
throws RepositoryException
RepositoryException - If an error occurs.public void removeEventListener(InternalEventListener listener) throws RepositoryException
listener - The listener to be removed.RepositoryException - If an error occurs.public EventFilter createEventFilter(int eventTypes, Path path, boolean isDeep, String[] uuids, Name[] nodeTypes, boolean noLocal) throws UnsupportedRepositoryOperationException, RepositoryException
ObservationManager.addEventListener(javax.jcr.observation.EventListener, int, java.lang.String, boolean, java.lang.String[], java.lang.String[], boolean).eventTypes - A combination of one or more event type constants
encoded as a bitmask.path - an absolute path.isDeep - a boolean.uuids - array of UUIDs.nodeTypes - array of node type names.noLocal - a boolean.UnsupportedRepositoryOperationException - if this implementation does not support observation.RepositoryExceptionpublic EventBundle getEvents(EventFilter filter, long after) throws RepositoryException, UnsupportedRepositoryOperationException
filter - the event filter to apply.after - a date in milliseconds.RepositoryException - if an error occurs.UnsupportedRepositoryOperationException - if the implementation does not support
journaled observation.public void setUserData(String userData) throws RepositoryException
userData - The user data used for the event processing.RepositoryException - If an error occurs.public void execute(Operation operation) throws RepositoryException
execute in interface UpdatableItemStateManagerRepositoryExceptionUpdatableItemStateManager.execute(Operation)public void execute(ChangeLog changes) throws RepositoryException
ChangeLog and executes it.execute in interface UpdatableItemStateManagerchanges - The set of transient changes to be executed.RepositoryExceptionpublic void dispose()
WorkspaceManagerdispose in interface UpdatableItemStateManagerpublic boolean isGranted(NodeState parentState, Path relPath, String[] actions) throws ItemNotFoundException, RepositoryException
AccessManagerpermissions are granted
on the item with the specified path.isGranted in interface AccessManagerparentState - The node state of the next existing ancestor.relPath - The relative path pointing to the non-existing target item.actions - An array of actions that need to be checked.true if the actions are granted; otherwise falseItemNotFoundException - if the target item does not existRepositoryException - if another error occursAccessManager.isGranted(NodeState, Path, String[])public boolean isGranted(ItemState itemState, String[] actions) throws ItemNotFoundException, RepositoryException
AccessManagerpermissions are granted
on the item with the specified path.isGranted in interface AccessManageractions - An array of actions that need to be checked.true if the actions are granted; otherwise falseItemNotFoundException - if the target item does not existRepositoryException - if another error occursAccessManager.isGranted(ItemState, String[])public boolean canRead(ItemState itemState) throws ItemNotFoundException, RepositoryException
AccessManagerItemId can
be read.canRead in interface AccessManagerItemNotFoundExceptionRepositoryExceptionAccessManager.canRead(ItemState)public boolean canRemove(ItemState itemState) throws ItemNotFoundException, RepositoryException
AccessManagercanRemove in interface AccessManagerItemNotFoundExceptionRepositoryExceptionAccessManager.canRemove(ItemState)public boolean canAccess(String workspaceName) throws NoSuchWorkspaceException, RepositoryException
AccessManagercanAccess in interface AccessManagerworkspaceName - name of workspacetrue if the subject of the current context is
granted access to the given workspace; otherwise false.NoSuchWorkspaceException - if a workspace with the given name does not exist.RepositoryException - if another error occursAccessManager.canAccess(String)public Map<String,String> getRegisteredNamespaces() throws RepositoryException
getRegisteredNamespaces in interface NamespaceStorageRepositoryExceptionpublic String getPrefix(String uri) throws NamespaceException, RepositoryException
getPrefix in interface NamespaceStorageNamespaceExceptionRepositoryExceptionpublic String getURI(String prefix) throws NamespaceException, RepositoryException
getURI in interface NamespaceStorageNamespaceExceptionRepositoryExceptionpublic void registerNamespace(String prefix, String uri) throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException
registerNamespace in interface NamespaceStorageNamespaceExceptionUnsupportedRepositoryOperationExceptionAccessDeniedExceptionRepositoryExceptionpublic void unregisterNamespace(String uri) throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException
unregisterNamespace in interface NamespaceStorageNamespaceExceptionUnsupportedRepositoryOperationExceptionAccessDeniedExceptionRepositoryExceptionCopyright © 2004–2022 The Apache Software Foundation. All rights reserved.