public class SearchMethod extends XMLResponseMethodBase
The SEARCH method initiates a server-side search. The body of the request defines the query. The server responds with a text/xml entity matching the WebDAV PROPFIND response.
According to
However, other query grammars may be used. A typical request using
the
SEARCH /folder/ HTTP/1.1
Host: www.foo.bar
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0"?>
<D:searchrequest xmlns:D = "DAV:" >
<D:basicsearch>
<D:select>
<D:prop><D:getcontentlength/></D:prop>
</D:select>
<D:from>
<D:scope>
<D:href>/folder/</D:href>
<D:depth>infinity</D:depth>
</D:scope>
</D:from>
</D:basicsearch>
</D:searchrequest>
SEARCH /folder/ HTTP/1.1
Host: www.foo.bar
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0"?>
<D:searchrequest xmlns:D = "DAV:" >
<D:sql>
SELECT "DAV:contentclass", "DAV:displayname"
FROM "/folder/"
WHERE "DAV:ishidden" = false
AND "DAV:isfolder" = false
</D:sql>
</D:searchrequest>
XMLResponseMethodBase.OptionsResponse, XMLResponseMethodBase.Response, XMLResponseMethodBase.ResponseWithinMultistatus, XMLResponseMethodBase.SingleResponse| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
prefix
The namespace abbreviation that prefixes DAV tags
|
builder, decodeResponseHrefs, responseURLs| Constructor and Description |
|---|
SearchMethod()
Method constructor.
|
SearchMethod(java.lang.String path)
Method constructor.
|
SearchMethod(java.lang.String path,
java.lang.String query)
Construct a SearchMethod using the given XML request body.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addRequestHeaders(org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
Generate additional headers needed by the request.
|
protected java.lang.String |
generateRequestBody()
DAV requests that contain a body must override this function to
generate that body.
|
java.util.Enumeration |
getAllResponseURLs()
This method returns an enumeration of URL paths.
|
java.lang.String |
getName() |
java.util.Enumeration |
getResponseProperties(java.lang.String urlPath)
Returns an enumeration of
Property objects. |
void |
parseResponse(java.io.InputStream input,
org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
Parse response.
|
void |
recycle()
Reset the State of the class to its initial state, so that it can be
used again.
|
convertElementToProperty, getDebug, getRequestContentLength, getResponseDocument, getResponseHashtable, getResponses, getResponseURLs, parseXMLResponse, readResponseBody, setDebug, setDecodeResponseHrefs, setDocument, setResponseHashtable, writeRequestBodyisRequestContentAlreadySet, readContinueCode, setRequestBody, setRequestBody, setRequestBody, setRequestBody, setRequestBodyabort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, getRequestCharSet, getRequestHeader, getRequestHeaderGroup, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseBodyAsString, getResponseCharSet, getResponseContentLength, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaderGroup, getResponseHeaders, getResponseHeaders, getResponseStream, getResponseTrailerHeaderGroup, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isAborted, isConnectionCloseForced, isHttp11, isRequestSent, isStrictMode, processCookieHeaders, processResponseBody, processResponseHeaders, processStatusLine, readResponse, readResponseHeaders, readStatusLine, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setFollowRedirects, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLineprotected java.lang.String prefix
public SearchMethod()
public SearchMethod(java.lang.String path)
public SearchMethod(java.lang.String path,
java.lang.String query)
path - Relative path to the WebDAV resource
(presumably a collection).query - Complete request body in XML including a search query in
your favorite grammar.public java.lang.String getName()
getName in interface org.apache.commons.httpclient.HttpMethodgetName in class org.apache.commons.httpclient.HttpMethodBasepublic void recycle()
XMLResponseMethodBaserecycle in interface org.apache.commons.httpclient.HttpMethodrecycle in class XMLResponseMethodBasepublic void addRequestHeaders(org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
throws java.io.IOException,
org.apache.commons.httpclient.HttpException
addRequestHeaders in class org.apache.commons.httpclient.HttpMethodBasestate - State tokenconn - the connectionjava.io.IOExceptionorg.apache.commons.httpclient.HttpExceptionprotected java.lang.String generateRequestBody()
The default behavior simply returns an empty body.
generateRequestBody in class XMLResponseMethodBasepublic java.util.Enumeration getAllResponseURLs()
<D:href> elements
of the response.public java.util.Enumeration getResponseProperties(java.lang.String urlPath)
Property objects.public void parseResponse(java.io.InputStream input,
org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
throws java.io.IOException,
org.apache.commons.httpclient.HttpException
parseResponse in class XMLResponseMethodBaseinput - Input streamjava.io.IOExceptionorg.apache.commons.httpclient.HttpException