public class PrincipalMatchReport extends AbstractSecurityReport
PrincipalMatchReport
can be request for any collection resources.
The resulting report identifies member resources that either represent the
requesting principal ("principal resources") or contain a specified property
that matches the requesting principal in its value. For the first match
the request body must contain a DAV:self element, for the latter a
DAV:principal-property element which in turn specifies the property to
be examined.
The request body MUST be a DAV:principal-match XML element:
<!ELEMENT principal-match ((principal-property | self), prop?)> <!ELEMENT principal-property ANY> ANY value: an element whose value identifies a property. The value of this property typically contains an href element referring to a principal. <!ELEMENT self EMPTY> prop: see RFC 2518, Section 12.11The response body of a successful report must contain a DAV:multistatus element. Each matching member is present with a separate DAV:response element.
Modifier and Type | Field and Description |
---|---|
static String |
REPORT_NAME
The report name
|
static ReportType |
REPORT_TYPE
The report type
|
static String |
XML_PRINCIPAL_PROPERTY |
static String |
XML_SELF |
responses
Constructor and Description |
---|
PrincipalMatchReport() |
Modifier and Type | Method and Description |
---|---|
DavPropertyName |
getPrincipalPropertyName()
Retrieve the property name that indicates which property must be search
for matching principals.
Note, that the search result must be converted to MultiStatusResponse s
that must be returned back to this report. |
ReportType |
getType()
Returns the registered type of this report.
|
void |
init(DavResource resource,
ReportInfo info)
Checks if the given resource and report info are not
null ,
that the requested report type matches this implementation and that no
other Depth header than 0 is present. |
void |
setResponses(MultiStatusResponse[] responses)
Write the result(s) of the match back to the report.
|
isMultiStatusReport, toXml
public static final String XML_PRINCIPAL_PROPERTY
public static final String XML_SELF
public static final String REPORT_NAME
public static final ReportType REPORT_TYPE
public ReportType getType()
Report
Report.getType()
public void init(DavResource resource, ReportInfo info) throws DavException
AbstractSecurityReport
null
,
that the requested report type matches this implementation and that no
other Depth header than 0 is present.init
in interface Report
init
in class AbstractSecurityReport
DavException
Report.init(DavResource, ReportInfo)
public DavPropertyName getPrincipalPropertyName()
MultiStatusResponse
s
that must be returned back to this report.setResponses(MultiStatusResponse[])
public void setResponses(MultiStatusResponse[] responses)
responses
- Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.