Class Proxy

public class Proxy
extends Object

This class represents a proxy setting, typically a type (http, socks) and a socket address. A Proxy is an immutable object.

Since:
1.5
See Also:
ProxySelector

Nested Class Summary

Nested Classes
Modifier and Type Class Description
static class  Proxy.Type

Represents the proxy type.

Field Summary

Fields
Modifier and Type Field Description
static Proxy NO_PROXY

A proxy setting that represents a DIRECT connection, basically telling the protocol handler not to use any proxying.

Constructor Summary

Constructors
Constructor Description
Proxy​(Proxy.Type type, SocketAddress sa)

Creates an entry representing a PROXY connection.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
SocketAddress address()

Returns the socket address of the proxy, or null if its a direct connection.

boolean equals​(Object obj)

Compares this object against the specified object.

int hashCode()

Returns a hashcode for this Proxy.

String toString()

Constructs a string representation of this Proxy.

Proxy.Type type()

Returns the proxy type.

Methods declared in class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Field Detail

NO_PROXY

public static final Proxy NO_PROXY

A proxy setting that represents a DIRECT connection, basically telling the protocol handler not to use any proxying. Used, for instance, to create sockets bypassing any other global proxy settings (like SOCKS):

Socket s = new Socket(Proxy.NO_PROXY);

Constructor Detail

Proxy

public Proxy​(Proxy.Type type,
             SocketAddress sa)

Creates an entry representing a PROXY connection. Certain combinations are illegal. For instance, for types Http, and Socks, a SocketAddress must be provided.

Use the Proxy.NO_PROXY constant for representing a direct connection.

Parameters:
type - the Type of the proxy
sa - the SocketAddress for that proxy
Throws:
IllegalArgumentException - when the type and the address are incompatible

Method Detail

type

public Proxy.Type type()

Returns the proxy type.

Returns:
a Type representing the proxy type

address

public SocketAddress address()

Returns the socket address of the proxy, or null if its a direct connection.

Returns:
a SocketAddress representing the socket end point of the proxy

toString

public String toString()

Constructs a string representation of this Proxy. This String is constructed by calling toString() on its type and concatenating " @ " and the toString() result from its address if its type is not DIRECT.

Overrides:
toString in class Object
Returns:
a string representation of this object.

equals

public final boolean equals​(Object obj)

Compares this object against the specified object. The result is true if and only if the argument is not null and it represents the same proxy as this object.

Two instances of Proxy represent the same address if both the SocketAddresses and type are equal.

Overrides:
equals in class Object
Parameters:
obj - the object to compare against.
Returns:
true if the objects are the same; false otherwise.
See Also:
InetSocketAddress.equals(java.lang.Object)

hashCode

public final int hashCode()

Returns a hashcode for this Proxy.

Overrides:
hashCode in class Object
Returns:
a hash code value for this Proxy.
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)