Class ReportInfo

  • All Implemented Interfaces:
    XmlSerializable

    public class ReportInfo
    extends Object
    implements XmlSerializable
    The ReportInfo class encapsulates the body of a REPORT request. RFC 3253 the top Xml element being the name of the requested report. In addition a Depth header may be present (default value: DavConstants.DEPTH_0).
    • Constructor Detail

      • ReportInfo

        public ReportInfo​(ReportType type)
        Create a new ReportInfo
        Parameters:
        type -
      • ReportInfo

        public ReportInfo​(ReportType type,
                          int depth)
        Create a new ReportInfo
        Parameters:
        type -
        depth -
      • ReportInfo

        public ReportInfo​(ReportType type,
                          int depth,
                          DavPropertyNameSet propertyNames)
        Create a new ReportInfo
        Parameters:
        type -
        depth -
        propertyNames -
      • ReportInfo

        public ReportInfo​(String typeLocalName,
                          Namespace typeNamespace)
        Create a new ReportInfo
        Parameters:
        typeLocalName -
        typeNamespace -
      • ReportInfo

        public ReportInfo​(String typelocalName,
                          Namespace typeNamespace,
                          int depth,
                          DavPropertyNameSet propertyNames)
        Create a new ReportInfo
        Parameters:
        typelocalName -
        typeNamespace -
        depth -
        propertyNames -
      • ReportInfo

        public ReportInfo​(Element reportElement,
                          int depth)
                   throws DavException
        Create a new ReportInfo object from the given Xml element.
        Parameters:
        reportElement -
        depth - Depth value as retrieved from the DavConstants.HEADER_DEPTH.
        Throws:
        DavException - if the report element is null.
    • Method Detail

      • getDepth

        public int getDepth()
        Returns the depth field. The request must be applied separately to the collection itself and to all members of the collection that satisfy the depth value.
        Returns:
        depth
      • getReportName

        public String getReportName()
        Name of the report type that will be / has been requested.
        Returns:
        Name of the report type
      • containsContentElement

        public boolean containsContentElement​(String localName,
                                              Namespace namespace)
        Indicates whether this info contains an element with the given name/namespace.
        Parameters:
        localName -
        namespace -
        Returns:
        true if an element with the given name/namespace is present in the body of the request info.
      • getContentElement

        public Element getContentElement​(String localName,
                                         Namespace namespace)
        Retrieves the Xml element with the given name/namespace that is a child of this info. If no such child exists null is returned. If multiple elements with the same name exist, the first one is returned.
        Parameters:
        localName -
        namespace -
        Returns:
        Xml element with the given name/namespace or null
      • getContentElements

        public List<Element> getContentElements​(String localName,
                                                Namespace namespace)
        Returns a list containing all child Xml elements of this info that have the specified name/namespace. If this info contains no such element, an empty list is returned.
        Parameters:
        localName -
        namespace -
        Returns:
        List contain all child elements with the given name/namespace or an empty list.
      • setContentElement

        public void setContentElement​(Element contentElement)
        Add the specified Xml element as child of this info.
        Parameters:
        contentElement -
      • getPropertyNameSet

        public DavPropertyNameSet getPropertyNameSet()
        Returns a DavPropertyNameSet providing the property names present in an eventual DavConstants.XML_PROP child element. If no such child element is present an empty set is returned.
        Returns:
        DavPropertyNameSet providing the property names present in an eventual DAV:prop child element or an empty set.