|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.jackrabbit.webdav.jcr.RootCollection
public class RootCollection
RootCollection
represent the WebDAV root resource that does not
represent any repository item. A call to getMembers() returns a
DavResourceIterator
containing only workspace resources
resources, thus revealing the names of the accessable JCR workspaces.
Field Summary | |
---|---|
protected boolean |
initedProps
|
protected DavPropertySet |
properties
|
protected SupportedLock |
supportedLock
|
protected SupportedReportSetProperty |
supportedReports
|
Fields inherited from interface org.apache.jackrabbit.webdav.transaction.TransactionResource |
---|
METHODS |
Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource |
---|
METHODS, METHODS_INCL_MKWORKSPACE |
Fields inherited from interface org.apache.jackrabbit.webdav.search.SearchResource |
---|
METHODS |
Constructor Summary | |
---|---|
protected |
RootCollection(DavResourceLocator locator,
JcrDavSession session,
DavResourceFactory factory)
Create a new RootCollection . |
Method Summary | |
---|---|
void |
addLockManager(LockManager lockMgr)
Add an external LockManager to this resource. |
void |
addMember(DavResource resource,
InputContext inputContext)
Throws exception: 403 Forbidden. |
void |
addWorkspace(DavResource workspace)
The JCR api does not provide methods to create new workspaces. |
MultiStatusResponse |
alterProperties(DavPropertySet setProperties,
DavPropertyNameSet removePropertyNames)
Builds a single List from the properties to set and the properties to remove and delegates the list to AbstractResource.alterProperties(List) ; |
MultiStatusResponse |
alterProperties(List changeList)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED |
void |
copy(DavResource destination,
boolean shallow)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED |
protected DavResource |
createResourceFromLocator(DavResourceLocator loc)
Create a new DavResource from the given locator. |
boolean |
exists()
Returns true |
DavResource |
getCollection()
Always returns null |
String |
getComplianceClass()
Returns a string listing the compliance classes for this resource as it is required for the DAV response header. |
String |
getDisplayName()
Returns an empty string. |
DavResourceFactory |
getFactory()
Return the DavResourceFactory that created this resource. |
String |
getHref()
Returns the absolute href of this resource as returned in the multistatus response body. |
DavResourceLocator |
getLocator()
Returns the locator object for this webdav resource,
which encapsulates the information for building the complete 'href'. |
protected DavResourceLocator |
getLocatorFromItem(Item repositoryItem)
Build a new DavResourceLocator from the given repository item. |
protected DavResourceLocator |
getLocatorFromItemPath(String itemPath)
Build a DavResourceLocator from the given itemPath path. |
ActiveLock |
getLock(Type type,
Scope scope)
Return the lock present on this webdav resource or null
if the resource is either not locked or not lockable at all. |
ActiveLock[] |
getLocks()
Returns an array of all locks applied to the given resource. |
DavResourceIterator |
getMembers()
Returns an iterator over the member resources, which are all workspace resources available. |
long |
getModificationTime()
Always returns 'now' |
OptionsResponse |
getOptionResponse(OptionsInfo optionsInfo)
Retrieves the information requested in the OPTIONS request body and returns the corresponding values. |
DavPropertySet |
getProperties()
Returns all webdav properties present on this resource. |
DavProperty |
getProperty(DavPropertyName name)
Return the webdav property with the specified name. |
DavPropertyName[] |
getPropertyNames()
Returns an array of all property names available
on this resource. |
QueryGrammerSet |
getQueryGrammerSet()
Returns the protected DAV:supported-method-set property which is defined mandatory by RTF 3253. |
DavResource[] |
getReferenceResources(DavPropertyName hrefPropertyName)
Return an array of DavResource objects that are referenced
by the property with the specified name. |
Report |
getReport(ReportInfo reportInfo)
Runs the report specified by the given ReportInfo . |
protected Session |
getRepositorySession()
Shortcut for getSession().getRepositorySession() |
String |
getResourcePath()
Returns the path of the underlying repository item or the item to be created (PUT/MKCOL). |
DavSession |
getSession()
Retrieve the DavSession associated with this resource. |
String |
getSupportedMethods()
Returns a string listing the METHODS for this resource as it is required for the "Allow" response header. |
String |
getTransactionId()
The TransactionId or null according to the value of the
corresponding request header
field. |
protected String |
getWorkspaceHref()
Since the root resource does not represent a repository item and therefore is not member of a workspace resource, this method always returns null . |
boolean |
hasLock(Type type,
Scope scope)
Returns true if this resource has a lock applied with the given type and scope. |
void |
init(TxLockManager txMgr,
String transactionId)
Initializes the TransactionResource . |
protected void |
initLockSupport()
Define the set of locks supported by this resource. |
protected void |
initProperties()
Fill the set of default properties |
protected void |
initSupportedReports()
Define the set of reports supported by this resource. |
boolean |
isCollection()
Returns true |
boolean |
isLockable(Type type,
Scope scope)
Returns true, if the SupportedLock property contains an entry
with the given type and scope. |
ActiveLock |
lock(LockInfo reqLockInfo)
Lock this webdav resource with the information retrieve from the request and return the resulting lockdiscovery object. |
void |
move(DavResource destination)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED |
ActiveLock |
refreshLock(LockInfo info,
String lockToken)
Only transaction lock may be available on this resource. |
void |
removeMember(DavResource member)
Throws exception: 403 Forbidden. |
void |
removeProperty(DavPropertyName propertyName)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED |
MultiStatus |
search(SearchInfo sInfo)
Runs a search with the language and query defined in the SearchInfo
object specified and returns a MultiStatus object listing the
results. |
void |
setProperty(DavProperty property)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED |
void |
spool(OutputContext outputContext)
Sets content lengths to '0' and retrieves the modification time. |
void |
unlock(String lockToken)
Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED since only transaction
locks may be present on this resource, that need to be released by calling
TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo) . |
void |
unlock(String lockToken,
TransactionInfo tInfo)
Overloads the unlock method of the DavResource
interface. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean initedProps
protected DavPropertySet properties
protected SupportedLock supportedLock
protected SupportedReportSetProperty supportedReports
Constructor Detail |
---|
protected RootCollection(DavResourceLocator locator, JcrDavSession session, DavResourceFactory factory)
RootCollection
.
locator
- session
- Method Detail |
---|
public String getSupportedMethods()
DavResource.getSupportedMethods()
public boolean exists()
DavResource.exists()
public boolean isCollection()
DavResource.isCollection()
public String getDisplayName()
DavResource.getDisplayName()
public long getModificationTime()
public void spool(OutputContext outputContext) throws IOException
outputContext
-
IOException
public DavResource getCollection()
null
null
for the root resource is not internal member
of any resource.DavResource.getCollection()
public void addMember(DavResource resource, InputContext inputContext) throws DavException
resource
- DavResource
to be added as internal member.inputContext
- Context providing the properties and content for the
internal member to be created or replaced.
DavException
DavResource.addMember(DavResource, InputContext)
public DavResourceIterator getMembers()
DavResource.getMembers()
public void removeMember(DavResource member) throws DavException
DavException
DavResource.removeMember(org.apache.jackrabbit.webdav.DavResource)
protected void initLockSupport()
AbstractResource.initLockSupport()
protected String getWorkspaceHref()
null
.
null
AbstractResource.getWorkspaceHref()
public String getComplianceClass()
getComplianceClass
in interface DavResource
DavResource.getComplianceClass()
public DavResourceLocator getLocator()
DavResource
locator
object for this webdav resource,
which encapsulates the information for building the complete 'href'.
getLocator
in interface DavResource
DavResource.getLocator()
public String getResourcePath()
null
is returned.
getResourcePath
in interface DavResource
DavResource.getResourcePath()
,
DavResourceLocator.getResourcePath()
public String getHref()
DavResource
getHref
in interface DavResource
DavResource.getHref()
,
DavResourceLocator.getHref(boolean)
public DavPropertyName[] getPropertyNames()
DavResource
property names
available
on this resource.
getPropertyNames
in interface DavResource
DavResource.getPropertyNames()
public DavProperty getProperty(DavPropertyName name)
DavResource
getProperty
in interface DavResource
name
- name of the webdav property
DavProperty
with the given name or null
if the property does not exist.DavResource.getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
public DavPropertySet getProperties()
DavResource
getProperties
in interface DavResource
DavPropertySet
containing all webdav property
of this resource.DavResource.getProperties()
public void setProperty(DavProperty property) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
setProperty
in interface DavResource
property
-
DavException
- Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
DavResource.setProperty(org.apache.jackrabbit.webdav.property.DavProperty)
public void removeProperty(DavPropertyName propertyName) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
removeProperty
in interface DavResource
propertyName
-
DavException
- Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
DavResource.removeProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
public MultiStatusResponse alterProperties(DavPropertySet setProperties, DavPropertyNameSet removePropertyNames) throws DavException
AbstractResource.alterProperties(List)
;
alterProperties
in interface DavResource
setProperties
- Set of properties to be added or modifiedremovePropertyNames
- Set of property names to be removed
DavException
- if an error occurred. This may be the case if the
general state of the resource prevents any properties to be set or removed
(e.g. due to a lock).DavResource.alterProperties(org.apache.jackrabbit.webdav.property.DavPropertySet, org.apache.jackrabbit.webdav.property.DavPropertyNameSet)
public MultiStatusResponse alterProperties(List changeList) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
alterProperties
in interface DavResource
changeList
- list containing DavPropertyName
objects (for
properties to be removed) and DavProperty
objects (for
properties to be added/set).
DavException
- if an error occurred. This may be the case if the
general state of the resource prevents any properties to be set or removed
(e.g. due to a lock).DavResource.alterProperties(List)
public void move(DavResource destination) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
move
in interface DavResource
destination
-
DavException
- Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
DavResource.move(org.apache.jackrabbit.webdav.DavResource)
public void copy(DavResource destination, boolean shallow) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
copy
in interface DavResource
destination
- shallow
-
DavException
- Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
DavResource.copy(org.apache.jackrabbit.webdav.DavResource, boolean)
public boolean isLockable(Type type, Scope scope)
SupportedLock
property contains an entry
with the given type and scope. By default resources allow for transaction
lock only.
isLockable
in interface DavResource
type
- scope
-
DavResource.isLockable(org.apache.jackrabbit.webdav.lock.Type, org.apache.jackrabbit.webdav.lock.Scope)
public boolean hasLock(Type type, Scope scope)
hasLock
in interface DavResource
type
- scope
-
DavResource.hasLock(Type, Scope)
public ActiveLock getLock(Type type, Scope scope)
DavResource
null
if the resource is either not locked or not lockable at all. Note, that
a resource may have a lock that is inherited by a deep lock enforced on
one of its 'parent' resources.
getLock
in interface DavResource
null
if this
resource has no lock applying it. If an error occurs while retrieving the
lock information null
is returned as well.DavResource.getLock(Type, Scope)
public ActiveLock[] getLocks()
DavResource
getLocks
in interface DavResource
todo improve....
public ActiveLock lock(LockInfo reqLockInfo) throws DavException
DavResource
lock
in interface DavResource
reqLockInfo
- lock info as retrieved from the request.
DavException
is thrown.
DavException
- if the lock could not be obtained.DavResource.lock(org.apache.jackrabbit.webdav.lock.LockInfo)
public ActiveLock refreshLock(LockInfo info, String lockToken) throws DavException
refreshLock
in interface DavResource
info
- lockToken
-
DavException
is thrown.
DavException
DavResource.refreshLock(org.apache.jackrabbit.webdav.lock.LockInfo, String)
public void unlock(String lockToken) throws DavException
HttpServletResponse.SC_METHOD_NOT_ALLOWED
since only transaction
locks may be present on this resource, that need to be released by calling
TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
.
unlock
in interface DavResource
lockToken
-
DavException
- Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
public void addLockManager(LockManager lockMgr)
DavResource
LockManager
to this resource. This method may
throw UnsupportedOperationException
if the resource does handle
locking itself.
addLockManager
in interface DavResource
DavResource.addLockManager(org.apache.jackrabbit.webdav.lock.LockManager)
public DavResourceFactory getFactory()
DavResource
DavResourceFactory
that created this resource.
getFactory
in interface DavResource
DavResource.getFactory()
public DavSession getSession()
DavResource
DavSession
associated with this resource.
getSession
in interface DavResource
DavResource.getSession()
,
DavResource.getSession()
public void init(TxLockManager txMgr, String transactionId)
TransactionResource
TransactionResource
.
init
in interface TransactionResource
TransactionResource.init(TxLockManager, String)
public void unlock(String lockToken, TransactionInfo tInfo) throws DavException
TransactionResource
unlock
method of the DavResource
interface.
unlock
in interface TransactionResource
lockToken
- lock token as present in the request header.tInfo
- transaction info object as present in the UNLOCK request body.
DavException
- if an error occursTransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
public String getTransactionId()
TransactionResource
null
according to the value of the
corresponding request header
field.
getTransactionId
in interface TransactionResource
null
TransactionResource.getTransactionId()
public OptionsResponse getOptionResponse(OptionsInfo optionsInfo)
DeltaVResource
getOptionResponse
in interface DeltaVResource
optionsInfo
-
null
DeltaVResource.getOptionResponse(org.apache.jackrabbit.webdav.version.OptionsInfo)
public Report getReport(ReportInfo reportInfo) throws DavException
DeltaVResource
ReportInfo
.
getReport
in interface DeltaVResource
reportInfo
-
DavException
DeltaVResource.getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo)
public void addWorkspace(DavResource workspace) throws DavException
addWorkspace
on this resource will always fail.
addWorkspace
in interface DeltaVResource
workspace
-
DavException
- Always throws.DeltaVResource.addWorkspace(org.apache.jackrabbit.webdav.DavResource)
public DavResource[] getReferenceResources(DavPropertyName hrefPropertyName) throws DavException
DavResource
objects that are referenced
by the property with the specified name.
getReferenceResources
in interface DeltaVResource
hrefPropertyName
-
DavResource
s
DavException
DeltaVResource.getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName)
public QueryGrammerSet getQueryGrammerSet()
SearchResource
DavResource.getProperty(SearchConstants.QUERY_GRAMMER_SET)
.
getQueryGrammerSet
in interface SearchResource
SearchResource.getQueryGrammerSet()
public MultiStatus search(SearchInfo sInfo) throws DavException
SearchResource
SearchInfo
object specified and returns a MultiStatus
object listing the
results.
search
in interface SearchResource
sInfo
-
DavException
SearchResource.search(org.apache.jackrabbit.webdav.search.SearchInfo)
protected void initProperties()
protected DavResource createResourceFromLocator(DavResourceLocator loc) throws DavException
DavResource
from the given locator.
loc
-
DavResource
DavException
protected DavResourceLocator getLocatorFromItemPath(String itemPath)
DavResourceLocator
from the given itemPath path.
itemPath
-
DavResourceLocator
DavLocatorFactory.createResourceLocator(String, String, String)
protected DavResourceLocator getLocatorFromItem(Item repositoryItem)
DavResourceLocator
from the given repository item.
repositoryItem
-
getLocatorFromItemPath(String)
protected Session getRepositorySession()
getSession().getRepositorySession()
AbstractResource.session
.protected void initSupportedReports()
SupportedReportSetProperty
,
AbstractResource.initSupportedReports()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |