Class MultiStatusResponse

  • All Implemented Interfaces:
    DavConstants, XmlSerializable

    public class MultiStatusResponse
    extends Object
    implements XmlSerializable, DavConstants
    MultiStatusResponse represents the DAV:multistatus element defined by RFC 2518:
     <!ELEMENT response (href, ((href*, status)|(propstat+)), responsedescription?) >
     <!ELEMENT status (#PCDATA) >
     <!ELEMENT propstat (prop, status, responsedescription?) >
     <!ELEMENT responsedescription (#PCDATA) >
     <!ELEMENT prop ANY >
     
    • Constructor Detail

      • MultiStatusResponse

        public MultiStatusResponse​(String href,
                                   Status status,
                                   String responseDescription)
        Constructs an WebDAV multistatus response
        Parameters:
        href -
        status -
        responseDescription -
      • MultiStatusResponse

        public MultiStatusResponse​(String href,
                                   int statusCode)
        Constructs an WebDAV multistatus response for a given resource. This would be used by COPY, MOVE, DELETE, LOCK that require a multistatus in case of error with a resource other than the resource identified in the Request-URI.
        The response description is set to null.
        Parameters:
        href -
        statusCode -
      • MultiStatusResponse

        public MultiStatusResponse​(String href,
                                   int statusCode,
                                   String responseDescription)
        Constructs an WebDAV multistatus response for a given resource. This would be used by COPY, MOVE, DELETE, LOCK that require a multistatus in case of error with a resource other than the resource identified in the Request-URI.
        Parameters:
        href -
        statusCode -
        responseDescription -
      • MultiStatusResponse

        public MultiStatusResponse​(String href,
                                   String responseDescription)
        Constructs an empty WebDAV multistatus response of type 'PropStat'
      • MultiStatusResponse

        public MultiStatusResponse​(DavResource resource,
                                   DavPropertyNameSet propNameSet)
        Constructs a WebDAV multistatus response and retrieves the resource properties according to the given DavPropertyNameSet.
        Parameters:
        resource -
        propNameSet -
    • Method Detail

      • getHref

        public String getHref()
        Returns the href
        Returns:
        href
        See Also:
        getHref()
      • getStatus

        public Status[] getStatus()
        Return an array listing all 'status' available is this response object. Note, that a the array contains a single element if this MultiStatusResponse defines an response consisting of href and status elements.
        Returns:
      • isPropStat

        public boolean isPropStat()
        Returns:
        true if the response is of type "propstat" (containing information about individual properties)
      • add

        public void add​(DavProperty<?> property)
        Adds a property to this response '200' propstat set.
        Parameters:
        property - the property to add
      • add

        public void add​(DavPropertyName propertyName)
        Adds a property name to this response '200' propstat set.
        Parameters:
        propertyName - the property name to add
      • add

        public void add​(DavProperty<?> property,
                        int status)
        Adds a property to this response
        Parameters:
        property - the property to add
        status - the status of the response set to select
      • add

        public void add​(DavPropertyName propertyName,
                        int status)
        Adds a property name to this response
        Parameters:
        propertyName - the property name to add
        status - the status of the response set to select
      • getProperties

        public DavPropertySet getProperties​(int status)
        Get properties present in this response for the given status code. In case this MultiStatusResponse does not represent a 'propstat' response, always an empty DavPropertySet will be returned.
        Parameters:
        status -
        Returns:
        property set
      • getPropertyNames

        public DavPropertyNameSet getPropertyNames​(int status)
        Get property names present in this response for the given status code. In case this MultiStatusResponse does not represent a 'propstat' response, always an empty DavPropertyNameSet will be returned.
        Parameters:
        status -
        Returns:
        property names
      • createFromXml

        public static MultiStatusResponse createFromXml​(Element responseElement)
        Build a new response object from the given xml element.
        Parameters:
        responseElement -
        Returns:
        new MultiStatusResponse instance
        Throws:
        IllegalArgumentException - if the specified element is null or not a DAV:response element or if the mandatory DAV:href child is missing.