You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by og...@apache.org on 2002/12/03 15:07:50 UTC
cvs commit: jakarta-commons/httpclient/src/java/org/apache/commons/httpclient HostConfiguration.java
oglueck 2002/12/03 06:07:50
Added: httpclient/src/java/org/apache/commons/httpclient
HostConfiguration.java
Log:
added missing file
Revision Changes Path
1.1 jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HostConfiguration.java
Index: HostConfiguration.java
===================================================================
package org.apache.commons.httpclient;
/**
*/
public class HostConfiguration implements Cloneable{
private String host;
private int port;
private String protocol;
private boolean hostSet;
private String proxyHost;
private int proxyPort;
private boolean proxySet;
/**
* Constructor for HostConfiguration.
*/
public HostConfiguration() {
this.host = null;
this.port = -1;
this.protocol = null;
this.hostSet = false;
this.proxyHost = null;
this.proxyPort = -1;
this.proxySet = false;
}
/**
* Copy constructor for HostConfiguration
*
* @param hostConfiguration the hostConfiguration to copy
*/
public HostConfiguration( HostConfiguration hostConfiguration ) {
// wrap all of the assignments in a synchronized block to avoid
// having to negotiate the monitor for each method call
synchronized( hostConfiguration ) {
this.host = hostConfiguration.getHost();
this.port = hostConfiguration.getPort();
this.protocol = hostConfiguration.getProtocol();
this.hostSet = hostConfiguration.isHostSet();
this.proxyHost = hostConfiguration.getProxyHost();
this.proxyPort = hostConfiguration.getProxyPort();
this.proxySet = hostConfiguration.isProxySet();
}
}
/**
* @see java.lang.Object#clone()
*/
public Object clone() {
return new HostConfiguration(this);
}
/**
* Tests if the host configuration equals the configuraiton set on the
* connection. True only if the host, port and protocol are equal. If no
* host configuration has been set false will be returned.
*
* @param connection the connection to test against
* @return true if the connection's host information equals that of this
* configuration
*
* @see #proxyEquals(HttpConnection)
*/
public synchronized boolean hostEquals(HttpConnection connection) {
if ( hostSet ) {
return (
host.equalsIgnoreCase(connection.getHost())
&& port == connection.getPort()
&& protocol.equalsIgnoreCase(connection.getProtocol())
);
} else {
return false;
}
}
/**
* Tests if the proxy configuration equals the configuraiton set on the
* connection. True only if the proxyHost and proxyPort are equal.
*
* @param connection the connection to test against
* @return true if the connection's proxy information equals that of this
* configuration
*
* @see #hostEquals(HttpConnection)
*/
public synchronized boolean proxyEquals(HttpConnection connection) {
if ( proxyHost == null ) {
return connection.getProxyHost() == null;
} else {
return (
proxyHost.equalsIgnoreCase(connection.getProxyHost())
&& proxyPort == connection.getProxyPort()
);
}
}
public synchronized boolean isHostSet() {
return hostSet;
}
public synchronized void setHost(
String host,
int port,
String protocol
) {
if ( host == null ) {
throw new IllegalArgumentException( "host must not be null" );
}
if ( protocol == null ) {
throw new IllegalArgumentException( "protocol must not be null" );
}
this.host = host;
this.port = port;
this.protocol = protocol;
this.hostSet = true;
}
public synchronized String getHostURL() {
if ( !hostSet ) {
throw new IllegalStateException(
"a default host must be set to create a host URL"
);
}
String url = protocol + "://" + host;
if ( port != -1 ) {
url += ":" + port;
}
return url;
}
/**
* Returns the host.
* @return String
*/
public synchronized String getHost() {
return host;
}
/**
* Returns the port.
* @return int
*/
public synchronized int getPort() {
return port;
}
/**
* Returns the protocol.
* @return String
*/
public synchronized String getProtocol() {
return protocol;
}
public synchronized boolean isProxySet() {
return proxySet;
}
public synchronized void setProxy( String proxyHost, int proxyPort ) {
this.proxyHost = proxyHost;
this.proxyPort = proxyPort;
this.proxySet = true;
}
/**
* Returns the proxyHost.
* @return String
*/
public synchronized String getProxyHost() {
return proxyHost;
}
/**
* Returns the proxyPort.
* @return int
*/
public synchronized int getProxyPort() {
return proxyPort;
}
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object o) {
if ( o instanceof HostConfiguration ) {
HostConfiguration config = (HostConfiguration)o;
return (
proxyPort == config.getProxyPort()
&& (
proxyHost == null
? config.getProxyHost() == null
: proxyHost.equals( config.getProxyHost() )
)
&& getHostURL().equals( config.getHostURL() )
);
} else {
return false;
}
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>