|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.spi.commons.AbstractRepositoryService
org.apache.jackrabbit.spi.commons.AbstractReadableRepositoryService
public abstract class AbstractReadableRepositoryService
AbstractReadableRepositoryService
provides an abstract base
class where all methods that attempt to write throw an
UnsupportedRepositoryOperationException
. This class useful for
repository service implementation that only provide read access to the
underlying content.
Field Summary | |
---|---|
protected String |
defaulWsp
The name of the default workspace |
protected static Set<String> |
WRITE_ACTIONS
|
protected List<String> |
wspNames
The list of workspaces that this repository service exposes. |
Fields inherited from class org.apache.jackrabbit.spi.commons.AbstractRepositoryService |
---|
descriptors, namespaces, nodeTypeDefs, rootNodeDefinition |
Constructor Summary | |
---|---|
AbstractReadableRepositoryService(Map<String,QValue[]> descriptors,
Map<String,String> namespaces,
Reader cnd,
List<String> wspNames,
String defaultWsp)
Creates a new AbstractReadableRepositoryService . |
Method Summary | |
---|---|
protected void |
checkWorkspace(String workspaceName)
Checks whether the workspaceName is valid. |
protected SessionInfo |
createSessionInfo(Credentials credentials,
String workspaceName)
Creates a session info instance for the given credentials and
workspaceName . |
NodeInfo |
getNodeInfo(SessionInfo sessionInfo,
NodeId nodeId)
This default implementation returns the first item returned by the call to RepositoryService.getItemInfos(SessionInfo, NodeId) . |
String[] |
getWorkspaceNames(SessionInfo sessionInfo)
This default implementation first calls AbstractRepositoryService.checkSessionInfo(SessionInfo)
with the sessionInfo , then returns the workspaces that were
passed to the constructor of this repository service. |
boolean |
isGranted(SessionInfo sessionInfo,
ItemId itemId,
String[] actions)
This default implementation first calls AbstractRepositoryService.checkSessionInfo(SessionInfo)
with the sessionInfo , then returns false if
the any of the actions are in WRITE_ACTIONS ;
otherwise returns true . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.jackrabbit.spi.RepositoryService |
---|
getChildInfos, getItemInfos, getPropertyInfo, getReferences |
Field Detail |
---|
protected static final Set<String> WRITE_ACTIONS
protected final List<String> wspNames
protected final String defaulWsp
Constructor Detail |
---|
public AbstractReadableRepositoryService(Map<String,QValue[]> descriptors, Map<String,String> namespaces, Reader cnd, List<String> wspNames, String defaultWsp) throws RepositoryException, ParseException, IllegalArgumentException
AbstractReadableRepositoryService
.
descriptors
- the repository descriptors. Maps descriptor keys to
descriptor values.namespaces
- the namespaces. Maps namespace prefixes to namespace
URIs.cnd
- a reader on the compact node type definition.wspNames
- a list of workspace names.defaultWsp
- name of the default workspace
RepositoryException
- if the namespace mappings are invalid.
ParseException
- if an error occurs while parsing the CND.
IllegalArgumentException
- if defaultWsp
is null
Method Detail |
---|
protected void checkWorkspace(String workspaceName) throws NoSuchWorkspaceException
workspaceName
is valid.
checkWorkspace
in class AbstractRepositoryService
workspaceName
- name of the workspace to check
NoSuchWorkspaceException
- if workspaceName
is neither in the
list of workspaces nor null (i.e. default workspace).protected SessionInfo createSessionInfo(Credentials credentials, String workspaceName) throws RepositoryException
AbstractRepositoryService
credentials
and
workspaceName
. This default implementation creates a
SessionInfoImpl
instance and sets the userId
and
workspaceName. The user userId
is null
or the
userId
from credentials
if it is of type
SimpleCredentials
.
createSessionInfo
in class AbstractRepositoryService
credentials
- the credentials.workspaceName
- the name of the workspace to access or null
for the default workspace.
credentials
and
workspaceName
.
RepositoryException
public NodeInfo getNodeInfo(SessionInfo sessionInfo, NodeId nodeId) throws ItemNotFoundException, RepositoryException
RepositoryService.getItemInfos(SessionInfo, NodeId)
. The underlying assumption here is that
the implementation and the persistence layer are optimized for batch reading. That is,
a call to getItemInfos
is no more expensive than retrieving the single
NodeInfo
only. If this assumption does not hold, subclasses should override
this method.
NodeInfo
for the node identified by the given id.
ItemNotFoundException
RepositoryException
Session.getItem(String)
,
Node.getNode(String)
,
VersionHistory.getAllVersions()
,
VersionHistory.getVersion(String)
,
VersionHistory.getVersionByLabel(String)
,
VersionHistory.getRootVersion()
,
Node.getBaseVersion()
,
Node.getVersionHistory()
,
Version.getContainingHistory()
public String[] getWorkspaceNames(SessionInfo sessionInfo) throws RepositoryException
AbstractRepositoryService.checkSessionInfo(SessionInfo)
with the sessionInfo
, then returns the workspaces that were
passed to the constructor of this repository service.
RepositoryException
Workspace.getAccessibleWorkspaceNames()
,
Workspace.getName()
public boolean isGranted(SessionInfo sessionInfo, ItemId itemId, String[] actions) throws RepositoryException
AbstractRepositoryService.checkSessionInfo(SessionInfo)
with the sessionInfo
, then returns false
if
the any of the actions
are in WRITE_ACTIONS
;
otherwise returns true
.
SessionInfo
has
the specified rights for the given item.
RepositoryException
Session.checkPermission(String, String)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |