Package org.apache.webdav.lib.methods
Class XMLResponseMethodBase
- java.lang.Object
-
- org.apache.commons.httpclient.HttpMethodBase
-
- org.apache.webdav.lib.methods.HttpRequestBodyMethodBase
-
- org.apache.webdav.lib.methods.XMLResponseMethodBase
-
- All Implemented Interfaces:
org.apache.commons.httpclient.HttpMethod
- Direct Known Subclasses:
AclMethod,AclReportMethod,BindMethod,CheckinMethod,CheckoutMethod,CopyMethod,DeleteMethod,LabelMethod,LockMethod,MkWorkspaceMethod,MoveMethod,OptionsMethod,PollMethod,PropFindMethod,PropPatchMethod,RebindMethod,ReportMethod,SearchMethod,SubscribeMethod,UnbindMethod,UncheckoutMethod,UnlockMethod,UnsubscribeMethod,UpdateMethod,VersionControlMethod
public abstract class XMLResponseMethodBase extends HttpRequestBodyMethodBase
Utility class for XML response parsing.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classXMLResponseMethodBase.OptionsResponseclassXMLResponseMethodBase.ResponseAn abstract class that models a DAV:response.(package private) classXMLResponseMethodBase.ResponseWithinMultistatusA class that models the DAV:response element within a multistatus.(package private) classXMLResponseMethodBase.SingleResponse
-
Field Summary
Fields Modifier and Type Field Description protected javax.xml.parsers.DocumentBuilderbuilderDocument builder.protected java.lang.StringdecodeResponseHrefsprotected java.util.VectorresponseURLsVector of response nodes, to keep track of insertion order FIXME: the above Hashtable and this Vector should be ported to plain Collections
-
Constructor Summary
Constructors Constructor Description XMLResponseMethodBase()Method constructor.XMLResponseMethodBase(java.lang.String uri)Method constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static PropertyconvertElementToProperty(XMLResponseMethodBase.Response response, org.w3c.dom.Element element)This method creates a property implementation from an element.protected java.lang.StringgenerateRequestBody()DAV requests that contain a body must override this function to generate that body.intgetDebug()Debug property getter.protected intgetRequestContentLength()Return the length (in bytes) of my request body, suitable for use in a Content-Length header.org.w3c.dom.DocumentgetResponseDocument()Response document getter.protected java.util.HashtablegetResponseHashtable()java.util.EnumerationgetResponses()Return an enumeration containing the responses.protected java.util.VectorgetResponseURLs()voidparseResponse(java.io.InputStream input, org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn)Parse response.protected voidparseXMLResponse(java.io.InputStream input)protected voidreadResponseBody(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn)voidrecycle()Reset the State of the class to its initial state, so that it can be used again.voidsetDebug(int debug)Debug property setter.voidsetDecodeResponseHrefs(java.lang.String encoding)Sets whether the href in responses are decoded, as early as possible.protected voidsetDocument(org.w3c.dom.Document doc)protected voidsetResponseHashtable(java.util.Hashtable h)protected booleanwriteRequestBody(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn)Write the request body to the givenHttpConnection.-
Methods inherited from class org.apache.webdav.lib.methods.HttpRequestBodyMethodBase
isRequestContentAlreadySet, readContinueCode, setRequestBody, setRequestBody, setRequestBody, setRequestBody, setRequestBody
-
Methods inherited from class org.apache.commons.httpclient.HttpMethodBase
abort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addRequestHeaders, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getName, 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, writeRequestLine
-
-
-
-
Field Detail
-
builder
protected javax.xml.parsers.DocumentBuilder builder
Document builder.
-
responseURLs
protected java.util.Vector responseURLs
Vector of response nodes, to keep track of insertion order FIXME: the above Hashtable and this Vector should be ported to plain Collections
-
decodeResponseHrefs
protected java.lang.String decodeResponseHrefs
-
-
Method Detail
-
getResponseDocument
public org.w3c.dom.Document getResponseDocument()
Response document getter.- Returns:
- Document response document
-
getResponses
public java.util.Enumeration getResponses()
Return an enumeration containing the responses.- Returns:
- An enumeration containing objects implementing the ResponseEntity interface
-
setDebug
public void setDebug(int debug)
Debug property setter.- Parameters:
int- Debug
-
getDebug
public int getDebug()
Debug property getter.
-
setDecodeResponseHrefs
public void setDecodeResponseHrefs(java.lang.String encoding)
Sets whether the href in responses are decoded, as early as possible. Thehrefdata in responses is often url-encoded, but not alwyas in a comparable way. Set this to a non-null value to decode the hrefs as early as possible.- Parameters:
encoding- The encoding used in while decoding (UTF-8 is recommended)
-
recycle
public void recycle()
Reset the State of the class to its initial state, so that it can be used again.- Specified by:
recyclein interfaceorg.apache.commons.httpclient.HttpMethod- Overrides:
recyclein classHttpRequestBodyMethodBase
-
readResponseBody
protected void readResponseBody(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) throws java.io.IOException, org.apache.commons.httpclient.HttpException- Overrides:
readResponseBodyin classorg.apache.commons.httpclient.HttpMethodBase- Throws:
java.io.IOExceptionorg.apache.commons.httpclient.HttpException
-
getRequestContentLength
protected int getRequestContentLength()
Return the length (in bytes) of my request body, suitable for use in a Content-Length header.Return -1 when the content-length is unknown.
This implementation returns 0, indicating that the request has no body.
- Overrides:
getRequestContentLengthin classHttpRequestBodyMethodBase- Returns:
- 0, indicating that the request has no body.
-
generateRequestBody
protected java.lang.String generateRequestBody()
DAV requests that contain a body must override this function to generate that body.The default behavior simply returns an empty body.
-
writeRequestBody
protected boolean writeRequestBody(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) throws java.io.IOException, org.apache.commons.httpclient.HttpExceptionWrite the request body to the givenHttpConnection.This implementation writes any computed body and returns true.
- Overrides:
writeRequestBodyin classHttpRequestBodyMethodBase- Parameters:
state- the client stateconn- the connection to write to- Returns:
- true
- Throws:
java.io.IOException- when i/o errors occur reading the responseorg.apache.commons.httpclient.HttpException- when a protocol error occurs or state is invalid
-
parseResponse
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.HttpExceptionParse response.- Parameters:
input- Input stream- Throws:
java.io.IOExceptionorg.apache.commons.httpclient.HttpException
-
parseXMLResponse
protected void parseXMLResponse(java.io.InputStream input) throws java.io.IOException, org.apache.commons.httpclient.HttpException- Throws:
java.io.IOExceptionorg.apache.commons.httpclient.HttpException
-
getResponseHashtable
protected java.util.Hashtable getResponseHashtable()
-
getResponseURLs
protected java.util.Vector getResponseURLs()
-
convertElementToProperty
protected static Property convertElementToProperty(XMLResponseMethodBase.Response response, org.w3c.dom.Element element)
This method creates a property implementation from an element. It treats known properties (i.e., the DAV properties) specially. These properties are instantiated as an implementation from theorg.apache.webdav.lib.propertiespackage.
-
setDocument
protected void setDocument(org.w3c.dom.Document doc)
-
setResponseHashtable
protected void setResponseHashtable(java.util.Hashtable h)
-
-