Package org.apache.jackrabbit.webdav
Class MultiStatus
- java.lang.Object
-
- org.apache.jackrabbit.webdav.MultiStatus
-
- All Implemented Interfaces:
DavConstants
,XmlSerializable
public class MultiStatus extends Object implements DavConstants, XmlSerializable
MultiStatus representing the content of a multistatus response body and allows to retrieve the Xml representation.
-
-
Field Summary
-
Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants
creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE
-
-
Constructor Summary
Constructors Constructor Description MultiStatus()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addResourceProperties(DavResource resource, DavPropertyNameSet propNameSet, int depth)
Add response(s) to this multistatus, in order to build a multistatus e.g.void
addResourceProperties(DavResource resource, DavPropertyNameSet propNameSet, int propFindType, int depth)
Add response(s) to this multistatus, in order to build a multistatus for responding to a PROPFIND request.void
addResourceStatus(DavResource resource, int status, int depth)
Add response(s) to this multistatus, in order to build a multistatus as returned for COPY, MOVE, LOCK or DELETE requests resulting in an error with a resource other than the resource identified in the Request-URI.void
addResponse(MultiStatusResponse response)
Add aMultiStatusResponse
element to thisMultiStatus
static MultiStatus
createFromXml(Element multistatusElement)
Build aMultiStatus
from the specified xml element.String
getResponseDescription()
Returns the response description.MultiStatusResponse[]
getResponses()
Returns the multistatus responses present as array.void
setResponseDescription(String responseDescription)
Set the response description.Element
toXml(Document document)
Return the Xml representation of thisMultiStatus
.
-
-
-
Method Detail
-
addResourceProperties
public void addResourceProperties(DavResource resource, DavPropertyNameSet propNameSet, int propFindType, int depth)
Add response(s) to this multistatus, in order to build a multistatus for responding to a PROPFIND request.- Parameters:
resource
- The resource to add property frompropNameSet
- The requested property names of the PROPFIND requestpropFindType
-depth
-
-
addResourceProperties
public void addResourceProperties(DavResource resource, DavPropertyNameSet propNameSet, int depth)
Add response(s) to this multistatus, in order to build a multistatus e.g. in order to respond to a PROPFIND request. Please note, that in terms of PROPFIND, this method would correspond to aDavConstants.PROPFIND_BY_PROPERTY
propfind type.- Parameters:
resource
- The resource to add property frompropNameSet
- The requested property names of the PROPFIND requestdepth
-- See Also:
for the corresponding method that allows to specify the type.
-
addResourceStatus
public void addResourceStatus(DavResource resource, int status, int depth)
Add response(s) to this multistatus, in order to build a multistatus as returned for COPY, MOVE, LOCK or DELETE requests resulting in an error with a resource other than the resource identified in the Request-URI.- Parameters:
resource
-status
-depth
-
-
addResponse
public void addResponse(MultiStatusResponse response)
Add aMultiStatusResponse
element to thisMultiStatus
This method is synchronized to avoid the problem described in JCR-2755.
- Parameters:
response
-
-
getResponses
public MultiStatusResponse[] getResponses()
Returns the multistatus responses present as array.This method is synchronized to avoid the problem described in JCR-2755.
- Returns:
- array of all
responses
present in this multistatus.
-
setResponseDescription
public void setResponseDescription(String responseDescription)
Set the response description.- Parameters:
responseDescription
-
-
getResponseDescription
public String getResponseDescription()
Returns the response description.- Returns:
- responseDescription
-
toXml
public Element toXml(Document document)
Return the Xml representation of thisMultiStatus
.- Specified by:
toXml
in interfaceXmlSerializable
- Parameters:
document
-- Returns:
- Xml document
-
createFromXml
public static MultiStatus createFromXml(Element multistatusElement)
Build aMultiStatus
from the specified xml element.- Parameters:
multistatusElement
-- Returns:
- new
MultiStatus
instance. - Throws:
IllegalArgumentException
- if the given document isnull
or does not provide the required element.
-
-