HTTPClientPolicy.java
//
// This file was generated by the Eclipse Implementation of JAXB, v4.0.5
// See https://eclipse-ee4j.github.io/jaxb-ri
// Any modifications to this file will be lost upon recompilation of the source schema.
//
package org.apache.cxf.transports.http.configuration;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.util.HashMap;
import java.util.Map;
import javax.xml.namespace.QName;
import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAnyAttribute;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlTransient;
import jakarta.xml.bind.annotation.XmlType;
/**
* Properties used to configure a client-side HTTP port
*
* <p>Java class for HTTPClientPolicy complex type</p>.
*
* <p>The following schema fragment specifies the expected content contained within this class.</p>
*
* <pre>{@code
* <complexType name="HTTPClientPolicy">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* </sequence>
* <attribute name="ConnectionTimeout" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedUInt" default="30000" />
* <attribute name="ReceiveTimeout" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedUInt" default="60000" />
* <attribute name="ConnectionRequestTimeout" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedUInt" default="60000" />
* <attribute name="AsyncExecuteTimeout" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedUInt" default="5000" />
* <attribute name="AsyncExecuteTimeoutRejection" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedBoolean" default="false" />
* <attribute name="AutoRedirect" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedBoolean" default="false" />
* <attribute name="MaxRetransmits" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedInt" default="-1" />
* <attribute name="AllowChunking" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedBoolean" default="true" />
* <attribute name="ChunkingThreshold" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedInt" default="4096" />
* <attribute name="ChunkLength" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedInt" default="-1" />
* <attribute name="Accept" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="AcceptLanguage" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="AcceptEncoding" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="ContentType" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="Host" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="Connection" type="{http://cxf.apache.org/transports/http/configuration}connectionType" default="Keep-Alive" />
* <attribute name="CacheControl" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="Version" type="{http://www.w3.org/2001/XMLSchema}string" default="auto" />
* <attribute name="Cookie" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="BrowserType" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="Referer" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="DecoupledEndpoint" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="ProxyServer" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="ProxyServerPort" type="{http://cxf.apache.org/configuration/parameterized-types}ParameterizedInt" />
* <attribute name="NonProxyHosts" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="ProxyServerType" type="{http://cxf.apache.org/transports/http/configuration}proxyServerType" default="HTTP" />
* <anyAttribute namespace='http://schemas.xmlsoap.org/wsdl/'/>
* </restriction>
* </complexContent>
* </complexType>
* }</pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "HTTPClientPolicy")
public class HTTPClientPolicy {
/**
* Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. 0 is infinite.
*
*/
@XmlAttribute(name = "ConnectionTimeout")
protected Long connectionTimeout;
/**
* Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. 0 is infinite.
*
*/
@XmlAttribute(name = "ReceiveTimeout")
protected Long receiveTimeout;
/**
* Specifies the amount of time, in milliseconds, used when requesting a connection from the connection manager(if appliable). 0 is infinite.
*
*/
@XmlAttribute(name = "ConnectionRequestTimeout")
protected Long connectionRequestTimeout;
/**
* Specifies the amount of time, in milliseconds, that a conduit will try and enqueue the response on the workqueue.
*
*/
@XmlAttribute(name = "AsyncExecuteTimeout")
protected Long asyncExecuteTimeout;
/**
* Specifies whether the conduit should throw and exception if it fails to enqueue the async response handling onto the workqueue.
* By default, if the conduit fails to enqueue the response handling on the workqueue, it will process the response on the current thread. Set this to true to raise and exception instead.
*
*/
@XmlAttribute(name = "AsyncExecuteTimeoutRejection")
protected Boolean asyncExecuteTimeoutRejection;
/**
* Specifies if the consumer will automatically follow a server issued redirection.
* (name is not part of standard)
*
*/
@XmlAttribute(name = "AutoRedirect")
protected Boolean autoRedirect;
/**
* Specifies the maximum amount of retransmits that are allowed for redirects. Retransmits for
* authorization is included in the retransmit count. Each redirect may cause another
* retransmit for a UNAUTHORIZED response code, ie. 401.
* Any negative number indicates unlimited retransmits,
* although, loop protection is provided.
* The default is unlimited.
* (name is not part of standard)
*
*/
@XmlAttribute(name = "MaxRetransmits")
protected Integer maxRetransmits;
/**
* If true, the client is free to use chunking streams if it wants, but it is not
* required to use chunking streams. If false, the client
* must use regular, non-chunked requests in all cases.
*
*/
@XmlAttribute(name = "AllowChunking")
protected Boolean allowChunking;
/**
* If AllowChunking is true, this sets the threshold at which messages start
* getting chunked. Messages under this limit do not get chunked.
*
*/
@XmlAttribute(name = "ChunkingThreshold")
protected Integer chunkingThreshold;
/**
* Specifies the chunk length for a HttpURLConnection. This value is used in java.net.HttpURLConnection.setChunkedStreamingMode(int chunklen). chunklen indicates the number of bytes to write in each chunk. If chunklen is less than or equal to zero, a default value will be used.
*
*/
@XmlAttribute(name = "ChunkLength")
protected Integer chunkLength;
/**
* Specifies the MIME types the client is prepared to handle (e.g., HTML, JPEG, GIF, etc.)
*
*/
@XmlAttribute(name = "Accept")
protected String accept;
/**
* Specifies the language the client desires (e.g., English, French, etc.)
*
*/
@XmlAttribute(name = "AcceptLanguage")
protected String acceptLanguage;
/**
* Specifies the encoding the client is prepared to handle (e.g., gzip)
*
*/
@XmlAttribute(name = "AcceptEncoding")
protected String acceptEncoding;
/**
* Specifies the content type of the stream being sent in a post request.
* (this should be text/xml for web services, or can be set to
* application/x-www-form-urlencoded if the client is sending form data).
*
*/
@XmlAttribute(name = "ContentType")
protected String contentType;
/**
* Specifies the Internet host and port number of the resource on which the request is being invoked.
* This is sent by default based upon the URL. Certain DNS scenarios or
* application designs may request you to set this, but typically it is
* not required.
*
*/
@XmlAttribute(name = "Host")
protected String host;
/**
* The connection disposition. If close the connection to the server is closed
* after each request/response dialog. If Keep-Alive the client requests the server
* to keep the connection open, and if the server honors the keep alive request,
* the connection is reused. Many servers and proxies do not honor keep-alive requests.
*
*/
@XmlAttribute(name = "Connection")
protected ConnectionType connection;
/**
* Most commonly used to specify no-cache, however the standard supports a
* dozen or so caching related directives for requests
*
*/
@XmlAttribute(name = "CacheControl")
protected String cacheControl;
/**
* HTTP Version used for the connection. The "auto" default will use whatever the default is
* for the HTTPConduit implementation.
*
*/
@XmlAttribute(name = "Version")
protected String version;
/**
* Specifies a cookie to send to the server. Some stateful session designs will use cookies to identify a session.
* If the cookie is static, you can supply it here. If it is dynamic,
* it will need to be set by the server on first access, and can be handled
* automatically by the runtime.
*
*/
@XmlAttribute(name = "Cookie")
protected String cookie;
/**
* aka User-Agent
* Specifies the type of browser is sending the request. This is usually only
* needed when sites have HTML customized to Netscape vs IE, etc, but can
* also be used to optimize for different SOAP stacks.
*
*/
@XmlAttribute(name = "BrowserType")
protected String browserType;
/**
* Specifies the URL that referred us to this URL. This is
* sent automatically with auto redirect.
*
* May allow the server to optimize processing based upon
* previous task flow. However, typically not used in
* web services applications.
*
*/
@XmlAttribute(name = "Referer")
protected String referer;
/**
* Specifies the URL of a decoupled endpoint for the receipt of responses over a separate provider->consumer connection.
*
*/
@XmlAttribute(name = "DecoupledEndpoint")
protected String decoupledEndpoint;
/**
* Specifies the address of proxy server if one is used.
*
*/
@XmlAttribute(name = "ProxyServer")
protected String proxyServer;
/**
* Specifies the port number used by the proxy server.
*
*/
@XmlAttribute(name = "ProxyServerPort")
protected Integer proxyServerPort;
/**
* Specifies the list of hostnames that will not use the proxy configuration.
* Examples of value:
* * "localhost" -> A single hostname
* * "localhost|www.google.com" -> 2 hostnames that will not use the proxy configuration
* * "localhost|www.google.*|*.apache.org" -> It's also possible to use a pattern-like value
*
*/
@XmlAttribute(name = "NonProxyHosts")
protected String nonProxyHosts;
/**
* Specifies the type of the proxy server. Can be either HTTP or SOCKS.
*
*/
@XmlAttribute(name = "ProxyServerType")
protected ProxyServerType proxyServerType;
@XmlAnyAttribute
private Map<QName, String> otherAttributes = new HashMap<>();
@XmlTransient
protected PropertyChangeSupport propertyListener = new PropertyChangeSupport(this);
/**
* Specifies the MIME types the client is prepared to handle (e.g., HTML, JPEG, GIF, etc.)
*
* @return
* possible object is
* {@link String }
*
*/
public String getAccept() {
return accept;
}
/**
* Sets the value of the accept property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getAccept()
*/
public void setAccept(String value) {
propertyListener.firePropertyChange("accept", this.accept, value);
this.accept = value;
}
public boolean isSetAccept() {
return (this.accept!= null);
}
/**
* Specifies the language the client desires (e.g., English, French, etc.)
*
* @return
* possible object is
* {@link String }
*
*/
public String getAcceptLanguage() {
return acceptLanguage;
}
/**
* Sets the value of the acceptLanguage property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getAcceptLanguage()
*/
public void setAcceptLanguage(String value) {
propertyListener.firePropertyChange("acceptLanguage", this.acceptLanguage, value);
this.acceptLanguage = value;
}
public boolean isSetAcceptLanguage() {
return (this.acceptLanguage!= null);
}
/**
* Specifies the encoding the client is prepared to handle (e.g., gzip)
*
* @return
* possible object is
* {@link String }
*
*/
public String getAcceptEncoding() {
return acceptEncoding;
}
/**
* Sets the value of the acceptEncoding property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getAcceptEncoding()
*/
public void setAcceptEncoding(String value) {
propertyListener.firePropertyChange("acceptEncoding", this.acceptEncoding, value);
this.acceptEncoding = value;
}
public boolean isSetAcceptEncoding() {
return (this.acceptEncoding!= null);
}
/**
* Specifies the content type of the stream being sent in a post request.
* (this should be text/xml for web services, or can be set to
* application/x-www-form-urlencoded if the client is sending form data).
*
* @return
* possible object is
* {@link String }
*
*/
public String getContentType() {
return contentType;
}
/**
* Sets the value of the contentType property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getContentType()
*/
public void setContentType(String value) {
propertyListener.firePropertyChange("contentType", this.contentType, value);
this.contentType = value;
}
public boolean isSetContentType() {
return (this.contentType!= null);
}
/**
* Specifies the Internet host and port number of the resource on which the request is being invoked.
* This is sent by default based upon the URL. Certain DNS scenarios or
* application designs may request you to set this, but typically it is
* not required.
*
* @return
* possible object is
* {@link String }
*
*/
public String getHost() {
return host;
}
/**
* Sets the value of the host property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getHost()
*/
public void setHost(String value) {
propertyListener.firePropertyChange("host", this.host, value);
this.host = value;
}
public boolean isSetHost() {
return (this.host!= null);
}
/**
* Sets the value of the connection property.
*
* @param value
* allowed object is
* {@link ConnectionType }
*
* @see #getConnection()
*/
public void setConnection(ConnectionType value) {
propertyListener.firePropertyChange("connection", this.connection, value);
this.connection = value;
}
public boolean isSetConnection() {
return (this.connection!= null);
}
/**
* Most commonly used to specify no-cache, however the standard supports a
* dozen or so caching related directives for requests
*
* @return
* possible object is
* {@link String }
*
*/
public String getCacheControl() {
return cacheControl;
}
/**
* Sets the value of the cacheControl property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getCacheControl()
*/
public void setCacheControl(String value) {
propertyListener.firePropertyChange("cacheControl", this.cacheControl, value);
this.cacheControl = value;
}
public boolean isSetCacheControl() {
return (this.cacheControl!= null);
}
/**
* Specifies a cookie to send to the server. Some stateful session designs will use cookies to identify a session.
* If the cookie is static, you can supply it here. If it is dynamic,
* it will need to be set by the server on first access, and can be handled
* automatically by the runtime.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCookie() {
return cookie;
}
/**
* Sets the value of the cookie property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getCookie()
*/
public void setCookie(String value) {
propertyListener.firePropertyChange("cookie", this.cookie, value);
this.cookie = value;
}
public boolean isSetCookie() {
return (this.cookie!= null);
}
/**
* aka User-Agent
* Specifies the type of browser is sending the request. This is usually only
* needed when sites have HTML customized to Netscape vs IE, etc, but can
* also be used to optimize for different SOAP stacks.
*
* @return
* possible object is
* {@link String }
*
*/
public String getBrowserType() {
return browserType;
}
/**
* Sets the value of the browserType property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getBrowserType()
*/
public void setBrowserType(String value) {
propertyListener.firePropertyChange("browserType", this.browserType, value);
this.browserType = value;
}
public boolean isSetBrowserType() {
return (this.browserType!= null);
}
/**
* Specifies the URL that referred us to this URL. This is
* sent automatically with auto redirect.
*
* May allow the server to optimize processing based upon
* previous task flow. However, typically not used in
* web services applications.
*
* @return
* possible object is
* {@link String }
*
*/
public String getReferer() {
return referer;
}
/**
* Sets the value of the referer property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getReferer()
*/
public void setReferer(String value) {
propertyListener.firePropertyChange("referer", this.referer, value);
this.referer = value;
}
public boolean isSetReferer() {
return (this.referer!= null);
}
/**
* Specifies the URL of a decoupled endpoint for the receipt of responses over a separate provider->consumer connection.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDecoupledEndpoint() {
return decoupledEndpoint;
}
/**
* Sets the value of the decoupledEndpoint property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getDecoupledEndpoint()
*/
public void setDecoupledEndpoint(String value) {
propertyListener.firePropertyChange("decoupledEndpoint", this.decoupledEndpoint, value);
this.decoupledEndpoint = value;
}
public boolean isSetDecoupledEndpoint() {
return (this.decoupledEndpoint!= null);
}
/**
* Specifies the address of proxy server if one is used.
*
* @return
* possible object is
* {@link String }
*
*/
public String getProxyServer() {
return proxyServer;
}
/**
* Sets the value of the proxyServer property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getProxyServer()
*/
public void setProxyServer(String value) {
propertyListener.firePropertyChange("proxyServer", this.proxyServer, value);
this.proxyServer = value;
}
public boolean isSetProxyServer() {
return (this.proxyServer!= null);
}
/**
* Specifies the port number used by the proxy server.
*
* @return
* possible object is
* {@link Integer }
*
*/
public Integer getProxyServerPort() {
return proxyServerPort;
}
/**
* Sets the value of the proxyServerPort property.
*
* @param value
* allowed object is
* {@link Integer }
*
* @see #getProxyServerPort()
*/
public void setProxyServerPort(Integer value) {
propertyListener.firePropertyChange("proxyServerPort", this.proxyServerPort, value);
this.proxyServerPort = value;
}
public boolean isSetProxyServerPort() {
return (this.proxyServerPort!= null);
}
/**
* Specifies the list of hostnames that will not use the proxy configuration.
* Examples of value:
* * "localhost" -> A single hostname
* * "localhost|www.google.com" -> 2 hostnames that will not use the proxy configuration
* * "localhost|www.google.*|*.apache.org" -> It's also possible to use a pattern-like value
*
* @return
* possible object is
* {@link String }
*
*/
public String getNonProxyHosts() {
return nonProxyHosts;
}
/**
* Sets the value of the nonProxyHosts property.
*
* @param value
* allowed object is
* {@link String }
*
* @see #getNonProxyHosts()
*/
public void setNonProxyHosts(String value) {
propertyListener.firePropertyChange("nonProxyHosts", this.nonProxyHosts, value);
this.nonProxyHosts = value;
}
public boolean isSetNonProxyHosts() {
return (this.nonProxyHosts!= null);
}
/**
* Sets the value of the proxyServerType property.
*
* @param value
* allowed object is
* {@link ProxyServerType }
*
* @see #getProxyServerType()
*/
public void setProxyServerType(ProxyServerType value) {
propertyListener.firePropertyChange("proxyServerType", this.proxyServerType, value);
this.proxyServerType = value;
}
public boolean isSetProxyServerType() {
return (this.proxyServerType!= null);
}
/**
* Gets a map that contains attributes that aren't bound to any typed property on this class.
*
* <p>
* the map is keyed by the name of the attribute and
* the value is the string value of the attribute.
*
* the map returned by this method is live, and you can add new attribute
* by updating the map directly. Because of this design, there's no setter.
*
*
* @return
* always non-null
*/
public Map<QName, String> getOtherAttributes() {
return otherAttributes;
}
/**
* Sets the value of the connectionTimeout property.
*
*/
public void setConnectionTimeout(long value) {
propertyListener.firePropertyChange("connectionTimeout", connectionTimeout, value);
connectionTimeout = value;
}
public void unsetConnectionTimeout() {
connectionTimeout = null;
}
public boolean isSetConnectionTimeout() {
return (this.connectionTimeout!= null);
}
/**
* Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. 0 is infinite.
*
*/
public long getConnectionTimeout() {
if (null == connectionTimeout) {
return 30000L;
}
return connectionTimeout;
}
/**
* Sets the value of the receiveTimeout property.
*
*/
public void setReceiveTimeout(long value) {
propertyListener.firePropertyChange("receiveTimeout", receiveTimeout, value);
receiveTimeout = value;
}
public void unsetReceiveTimeout() {
receiveTimeout = null;
}
public boolean isSetReceiveTimeout() {
return (this.receiveTimeout!= null);
}
/**
* Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. 0 is infinite.
*
*/
public long getReceiveTimeout() {
if (null == receiveTimeout) {
return 60000L;
}
return receiveTimeout;
}
/**
* Sets the value of the connectionRequestTimeout property.
*
*/
public void setConnectionRequestTimeout(long value) {
propertyListener.firePropertyChange("connectionRequestTimeout", connectionRequestTimeout, value);
connectionRequestTimeout = value;
}
public void unsetConnectionRequestTimeout() {
connectionRequestTimeout = null;
}
public boolean isSetConnectionRequestTimeout() {
return (this.connectionRequestTimeout!= null);
}
/**
* Specifies the amount of time, in milliseconds, used when requesting a connection from the connection manager(if appliable). 0 is infinite.
*
*/
public long getConnectionRequestTimeout() {
if (null == connectionRequestTimeout) {
return 60000L;
}
return connectionRequestTimeout;
}
/**
* Sets the value of the asyncExecuteTimeout property.
*
*/
public void setAsyncExecuteTimeout(long value) {
propertyListener.firePropertyChange("asyncExecuteTimeout", asyncExecuteTimeout, value);
asyncExecuteTimeout = value;
}
public void unsetAsyncExecuteTimeout() {
asyncExecuteTimeout = null;
}
public boolean isSetAsyncExecuteTimeout() {
return (this.asyncExecuteTimeout!= null);
}
/**
* Specifies the amount of time, in milliseconds, that a conduit will try and enqueue the response on the workqueue.
*
*/
public long getAsyncExecuteTimeout() {
if (null == asyncExecuteTimeout) {
return 5000L;
}
return asyncExecuteTimeout;
}
/**
* Sets the value of the asyncExecuteTimeoutRejection property.
*
*/
public void setAsyncExecuteTimeoutRejection(boolean value) {
propertyListener.firePropertyChange("asyncExecuteTimeoutRejection", asyncExecuteTimeoutRejection, ((Boolean) value));
asyncExecuteTimeoutRejection = value;
}
public void unsetAsyncExecuteTimeoutRejection() {
asyncExecuteTimeoutRejection = null;
}
public boolean isSetAsyncExecuteTimeoutRejection() {
return (this.asyncExecuteTimeoutRejection!= null);
}
/**
* Specifies whether the conduit should throw and exception if it fails to enqueue the async response handling onto the workqueue.
* By default, if the conduit fails to enqueue the response handling on the workqueue, it will process the response on the current thread. Set this to true to raise and exception instead.
*
*/
public boolean isAsyncExecuteTimeoutRejection() {
if (null == asyncExecuteTimeoutRejection) {
return false;
}
return asyncExecuteTimeoutRejection;
}
/**
* Sets the value of the autoRedirect property.
*
*/
public void setAutoRedirect(boolean value) {
propertyListener.firePropertyChange("autoRedirect", autoRedirect, ((Boolean) value));
autoRedirect = value;
}
public void unsetAutoRedirect() {
autoRedirect = null;
}
public boolean isSetAutoRedirect() {
return (this.autoRedirect!= null);
}
/**
* Specifies if the consumer will automatically follow a server issued redirection.
* (name is not part of standard)
*
*/
public boolean isAutoRedirect() {
if (null == autoRedirect) {
return false;
}
return autoRedirect;
}
/**
* Sets the value of the maxRetransmits property.
*
*/
public void setMaxRetransmits(int value) {
propertyListener.firePropertyChange("maxRetransmits", maxRetransmits, ((Integer) value));
maxRetransmits = value;
}
public void unsetMaxRetransmits() {
maxRetransmits = null;
}
public boolean isSetMaxRetransmits() {
return (this.maxRetransmits!= null);
}
/**
* Specifies the maximum amount of retransmits that are allowed for redirects. Retransmits for
* authorization is included in the retransmit count. Each redirect may cause another
* retransmit for a UNAUTHORIZED response code, ie. 401.
* Any negative number indicates unlimited retransmits,
* although, loop protection is provided.
* The default is unlimited.
* (name is not part of standard)
*
*/
public int getMaxRetransmits() {
if (null == maxRetransmits) {
return -1;
}
return maxRetransmits;
}
/**
* Sets the value of the allowChunking property.
*
*/
public void setAllowChunking(boolean value) {
propertyListener.firePropertyChange("allowChunking", allowChunking, ((Boolean) value));
allowChunking = value;
}
public void unsetAllowChunking() {
allowChunking = null;
}
public boolean isSetAllowChunking() {
return (this.allowChunking!= null);
}
/**
* If true, the client is free to use chunking streams if it wants, but it is not
* required to use chunking streams. If false, the client
* must use regular, non-chunked requests in all cases.
*
*/
public boolean isAllowChunking() {
if (null == allowChunking) {
return true;
}
return allowChunking;
}
/**
* Sets the value of the chunkingThreshold property.
*
*/
public void setChunkingThreshold(int value) {
propertyListener.firePropertyChange("chunkingThreshold", chunkingThreshold, ((Integer) value));
chunkingThreshold = value;
}
public void unsetChunkingThreshold() {
chunkingThreshold = null;
}
public boolean isSetChunkingThreshold() {
return (this.chunkingThreshold!= null);
}
/**
* If AllowChunking is true, this sets the threshold at which messages start
* getting chunked. Messages under this limit do not get chunked.
*
*/
public int getChunkingThreshold() {
if (null == chunkingThreshold) {
return 4096;
}
return chunkingThreshold;
}
/**
* Sets the value of the chunkLength property.
*
*/
public void setChunkLength(int value) {
propertyListener.firePropertyChange("chunkLength", chunkLength, ((Integer) value));
chunkLength = value;
}
public void unsetChunkLength() {
chunkLength = null;
}
public boolean isSetChunkLength() {
return (this.chunkLength!= null);
}
/**
* Specifies the chunk length for a HttpURLConnection. This value is used in java.net.HttpURLConnection.setChunkedStreamingMode(int chunklen). chunklen indicates the number of bytes to write in each chunk. If chunklen is less than or equal to zero, a default value will be used.
*
*/
public int getChunkLength() {
if (null == chunkLength) {
return -1;
}
return chunkLength;
}
/**
* The connection disposition. If close the connection to the server is closed
* after each request/response dialog. If Keep-Alive the client requests the server
* to keep the connection open, and if the server honors the keep alive request,
* the connection is reused. Many servers and proxies do not honor keep-alive requests.
*
*/
public ConnectionType getConnection() {
if (null == connection) {
return ConnectionType.fromValue("Keep-Alive");
}
return connection;
}
/**
* Sets the value of the version property.
*
*/
public void setVersion(String value) {
propertyListener.firePropertyChange("version", version, value);
version = value;
}
public void unsetVersion() {
version = null;
}
public boolean isSetVersion() {
return (this.version!= null);
}
/**
* HTTP Version used for the connection. The "auto" default will use whatever the default is
* for the HTTPConduit implementation.
*
*/
public String getVersion() {
if (null == version) {
return "auto";
}
return version;
}
/**
* Specifies the type of the proxy server. Can be either HTTP or SOCKS.
*
*/
public ProxyServerType getProxyServerType() {
if (null == proxyServerType) {
return ProxyServerType.fromValue("HTTP");
}
return proxyServerType;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertyListener.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertyListener.removePropertyChangeListener(listener);
}
}