/**@class java.net.Proxy
@extends java.lang.Object

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

 @see     java.net.ProxySelector
 @author Yingxian Wang
 @author Jean-Christophe Collet
 @since   1.5
*/
var Proxy = {

/** A proxy setting that represents a {@code 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):
 <P>
 {@code Socket s = new Socket(Proxy.NO_PROXY);}

*/
NO_PROXY : "null",
/**Returns the proxy type.
@return {Object {java.net.Proxy.Type}} a Type representing the proxy type
*/
type : function(  ) {},

/**Returns the socket address of the proxy, or
 {@code null} if its a direct connection.
@return {Object {java.net.SocketAddress}} a {@code SocketAddress} representing the socket end
         point of the proxy
*/
address : function(  ) {},

/**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 {@code DIRECT}.
@return {String} a string representation of this object.
*/
toString : function(  ) {},

/**Compares this object against the specified object.
 The result is {@code true} if and only if the argument is
 not {@code null} and it represents the same proxy as
 this object.
 <p>
 Two instances of {@code Proxy} represent the same
 address if both the SocketAddresses and type are equal.
@param {Object {Object}} obj   the object to compare against.
@return {Boolean} {@code true} if the objects are the same;
          {@code false} otherwise.
@see java.net.InetSocketAddress#equals(java.lang.Object)
*/
equals : function(  ) {},

/**Returns a hashcode for this Proxy.
@return {Number} a hash code value for this Proxy.
*/
hashCode : function(  ) {},


};