/*
* Copyright 2012 McEvoy Software Ltd.
*
*/
package io.milton.http.carddav;
import io.milton.http.ResourceFactory;
import io.milton.http.report.AbstractMultiGetReport;
import io.milton.http.webdav.PropFindPropertyBuilder;
import io.milton.http.webdav.PropFindXmlGenerator;
import javax.xml.namespace.QName;
/**
* The CARDDAV:addressbook-multiget REPORT is used to retrieve specific
* address object resources from within a collection, if the Request-URI
* is a collection, or to retrieve a specific address object resource,
* if the Request-URI is an address object resource. This report is
* similar to the CARDDAV:addressbook-query REPORT (see Section 8.6),
* except that it takes a list of DAV:href elements instead of a
* CARDDAV:filter element to determine which address object resources to
* return.
*
* >> Request <<
* REPORT /home/bernard/addressbook/ HTTP/1.1
* Host: addressbook.example.com
* Depth: 1
* Content-Type: text/xml; charset="utf-8"
* Content-Length: xxxx
* <?xml version="1.0" encoding="utf-8" ?>
* <C:addressbook-multiget xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
* <D:prop>
* <D:getetag/>
* <C:address-data>
* <C:prop name="VERSION"/>
* <C:prop name="UID"/>
* <C:prop name="NICKNAME"/>
* <C:prop name="EMAIL"/>
* <C:prop name="FN"/>
* </C:address-data>
* </D:prop>
* <D:href>/home/bernard/addressbook/vcf102.vcf</D:href>
* <D:href>/home/bernard/addressbook/vcf1.vcf</D:href>
* </C:addressbook-multiget>
*
*
* @author nabil.shams
*/
public class AddressBookMultiGetReport extends AbstractMultiGetReport {
public AddressBookMultiGetReport(ResourceFactory resourceFactory, PropFindPropertyBuilder propertyBuilder, PropFindXmlGenerator xmlGenerator) {
super(resourceFactory, propertyBuilder, xmlGenerator);
}
@Override
public String getName() {
return "addressbook-multiget";
}
@Override
public QName getQualifiedName()
{
return new QName(CardDavProtocol.CARDDAV_NS, getName());
}
}