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 voidaddResourceProperties(DavResource resource, DavPropertyNameSet propNameSet, int depth)Add response(s) to this multistatus, in order to build a multistatus e.g.voidaddResourceProperties(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.voidaddResourceStatus(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.voidaddResponse(MultiStatusResponse response)Add aMultiStatusResponseelement to thisMultiStatusstatic MultiStatuscreateFromXml(Element multistatusElement)Build aMultiStatusfrom the specified xml element.StringgetResponseDescription()Returns the response description.MultiStatusResponse[]getResponses()Returns the multistatus responses present as array.voidsetResponseDescription(String responseDescription)Set the response description.ElementtoXml(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_PROPERTYpropfind 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 aMultiStatusResponseelement to thisMultiStatusThis 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
responsespresent 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:
toXmlin interfaceXmlSerializable- Parameters:
document-- Returns:
- Xml document
-
createFromXml
public static MultiStatus createFromXml(Element multistatusElement)
Build aMultiStatusfrom the specified xml element.- Parameters:
multistatusElement-- Returns:
- new
MultiStatusinstance. - Throws:
IllegalArgumentException- if the given document isnullor does not provide the required element.
-
-