Class SearchablePropertyReport
- java.lang.Object
-
- org.apache.jackrabbit.webdav.version.report.AbstractReport
-
- org.apache.jackrabbit.webdav.security.report.SearchablePropertyReport
-
- All Implemented Interfaces:
Report,XmlSerializable
public class SearchablePropertyReport extends AbstractReport
SearchablePropertyReportidentifies those properties that may be searched using theDAV:principal-property-search REPORT. This report must be supported on all collections identified in the value of a DAV:principal-collection-set property.The request body MUST be an empty DAV:principal-search-property-set element.
The response body MUST be a DAV:principal-search-property-set XML element with the following structure:
<!ELEMENT principal-search-property-set (principal-search-property*) > <!ELEMENT principal-search-property (prop, description) > prop: see RFC 2518, Section 12.11 <!ELEMENT description #PCDATA > Human readable description. Note, that the language of the description must be indicated by the xml:lang attribute.
Note that a DAV:principal-search-property XML element is required for each property that may be searched with the DAV:principal-property-search REPORT.
-
-
Field Summary
Fields Modifier and Type Field Description static StringREPORT_NAMEThe report namestatic ReportTypeREPORT_TYPEThe report typestatic StringXML_PRINCIPAL_SEARCH_PROPERTY_SETConstant used for the DAV:principal-search-property-set response element.
-
Constructor Summary
Constructors Constructor Description SearchablePropertyReport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPrincipalSearchProperty(DavPropertyName propName, String description, String language)Add a property name that should be listed in the DAV:principal-search-property-set.ReportTypegetType()Returns the registered type of this report.voidinit(DavResource resource, ReportInfo info)Set theDeltaVResourcefor which this report was requested and theReportInfoas specified by the REPORT request body, that defines the details for this report.
Please note that this methods should perform basic validation checks in order to prevent exceptional situations during the xml serialization.booleanisMultiStatusReport()Returns true if thisReportwill send aMultiStatusresponse.
Please note that RFC 3253 that the the response must be a 207 Multi-Status, if a Depth request header is present.ElementtoXml(Document document)Returns the xml representation of the implementing object asElement.-
Methods inherited from class org.apache.jackrabbit.webdav.version.report.AbstractReport
normalizeResourceHref
-
-
-
-
Field Detail
-
REPORT_NAME
public static final String REPORT_NAME
The report name- See Also:
- Constant Field Values
-
REPORT_TYPE
public static final ReportType REPORT_TYPE
The report type
-
XML_PRINCIPAL_SEARCH_PROPERTY_SET
public static final String XML_PRINCIPAL_SEARCH_PROPERTY_SET
Constant used for the DAV:principal-search-property-set response element.- See Also:
- Constant Field Values
-
-
Method Detail
-
getType
public ReportType getType()
Description copied from interface:ReportReturns the registered type of this report.- Returns:
- the type of this report.
- See Also:
Report.getType()
-
isMultiStatusReport
public boolean isMultiStatusReport()
Description copied from interface:ReportReturns true if thisReportwill send aMultiStatusresponse.
Please note that RFC 3253 that the the response must be a 207 Multi-Status, if a Depth request header is present.- Returns:
- false Status code of after a successful completion must be
200 (ok). - See Also:
Report.isMultiStatusReport()
-
init
public void init(DavResource resource, ReportInfo info) throws DavException
Description copied from interface:ReportSet theDeltaVResourcefor which this report was requested and theReportInfoas specified by the REPORT request body, that defines the details for this report.
Please note that this methods should perform basic validation checks in order to prevent exceptional situations during the xml serialization.- Throws:
DavException- See Also:
Report.init(DavResource, ReportInfo)
-
toXml
public Element toXml(Document document)
Description copied from interface:XmlSerializableReturns the xml representation of the implementing object asElement. The givenDocumentis used as factory and represents theowner documentof the returned DOM element.- Parameters:
document- to be used as factory.- Returns:
- a w3c element representing this object
- See Also:
XmlSerializable.toXml(Document)
-
addPrincipalSearchProperty
public void addPrincipalSearchProperty(DavPropertyName propName, String description, String language)
Add a property name that should be listed in the DAV:principal-search-property-set.- Parameters:
propName- a property name that may be searched in thePrincipalSearchReport.description- Human readable description of the searchable property.language- defines in which language the description is written.- Throws:
IllegalArgumentException- if propName isnull.
-
-