RouteInfo.LayerType, RouteInfo.TunnelType| Constructor and Description | 
|---|
| HttpRoute(HttpHost target)Creates a new direct insecure route. | 
| HttpRoute(HttpHost target,
         HttpHost proxy)Creates a new plain route through a proxy. | 
| HttpRoute(HttpHost target,
         InetAddress local,
         boolean secure)Creates a new direct route. | 
| HttpRoute(HttpHost target,
         InetAddress local,
         HttpHost[] proxies,
         boolean secure,
         RouteInfo.TunnelType tunnelled,
         RouteInfo.LayerType layered)Creates a new route with all attributes specified explicitly. | 
| HttpRoute(HttpHost target,
         InetAddress local,
         HttpHost proxy,
         boolean secure)Creates a new route through a proxy. | 
| HttpRoute(HttpHost target,
         InetAddress local,
         HttpHost proxy,
         boolean secure,
         RouteInfo.TunnelType tunnelled,
         RouteInfo.LayerType layered)Creates a new route with at most one proxy. | 
| Modifier and Type | Method and Description | 
|---|---|
| Object | clone()Creates and returns a copy of this object. | 
| boolean | equals(Object obj)Compares this route to another. | 
| int | getHopCount()Obtains the number of hops in this route. | 
| HttpHost | getHopTarget(int hop)Obtains the target of a hop in this route. | 
| RouteInfo.LayerType | getLayerType()Obtains the layering type of this route. | 
| InetAddress | getLocalAddress()Obtains the local address to connect from. | 
| InetSocketAddress | getLocalSocketAddress() | 
| HttpHost | getProxyHost()Obtains the first proxy host. | 
| HttpHost | getTargetHost()Obtains the target host. | 
| RouteInfo.TunnelType | getTunnelType()Obtains the tunnel type of this route. | 
| int | hashCode()Generates a hash code for this route. | 
| boolean | isLayered()Checks whether this route includes a layered protocol. | 
| boolean | isSecure()Checks whether this route is secure. | 
| boolean | isTunnelled()Checks whether this route is tunnelled through a proxy. | 
| String | toString()Obtains a description of this route. | 
public HttpRoute(HttpHost target)
target - the host to which to routepublic HttpRoute(HttpHost target, HttpHost proxy)
target - the host to which to routeproxy - the proxy to usepublic HttpRoute(HttpHost target, InetAddress local, boolean secure)
target - the host to which to routelocal - the local address to route from, or
                  null for the defaultsecure - true if the route is (to be) secure,
                  false otherwisepublic HttpRoute(HttpHost target, InetAddress local, HttpHost[] proxies, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered)
target - the host to which to routelocal - the local address to route from, or
                  null for the defaultproxies - the proxy chain to use, or
                  null for a direct routesecure - true if the route is (to be) secure,
                  false otherwisetunnelled - the tunnel type of this routelayered - the layering type of this routepublic HttpRoute(HttpHost target, InetAddress local, HttpHost proxy, boolean secure)
proxy MUST be given.
 For convenience, it is assumed that a secure connection will be
 layered over a tunnel through the proxy.target - the host to which to routelocal - the local address to route from, or
                  null for the defaultproxy - the proxy to usesecure - true if the route is (to be) secure,
                  false otherwisepublic HttpRoute(HttpHost target, InetAddress local, HttpHost proxy, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered)
target - the host to which to routelocal - the local address to route from, or
                  null for the defaultproxy - the proxy to use, or
                  null for a direct routesecure - true if the route is (to be) secure,
                  false otherwisetunnelled - true if the route is (to be) tunnelled
                  via the proxy,
                  false otherwiselayered - true if the route includes a
                  layered protocol,
                  false otherwisepublic Object clone() throws CloneNotSupportedException
Objectx, the expression: will be true, and that the expression:x.clone() != x
will bex.clone().getClass() == x.getClass()
true, but these are not absolute requirements. While it is
 typically the case that: will bex.clone().equals(x)
true, this is not an absolute requirement.
 
 By convention, the returned object should be obtained by calling super.clone. If a class
 and all of its superclasses (except Object) obey this convention, it will be the case
 that x.clone().getClass() == x.getClass().
 
 By convention, the object returned by this method should be independent of this object (which is
 being cloned). To achieve this independence, it may be necessary to modify one or more fields of
 the object returned by super.clone before returning it. Typically, this means copying any
 mutable objects that comprise the internal "deep structure" of the object being cloned and
 replacing the references to these objects with references to the copies. If a class contains only
 primitive fields or references to immutable objects, then it is usually the case that no fields
 in the object returned by super.clone need to be modified.
 
 The method clone for class Object performs a specific cloning operation. First,
 if the class of this object does not implement the interface Cloneable, then a
 CloneNotSupportedException is thrown. Note that all arrays are considered to implement
 the interface Cloneable and that the return type of the clone method of an array
 type T[] is T[] where T is any reference or primitive type. Otherwise, this
 method creates a new instance of the class of this object and initializes all its fields with
 exactly the contents of the corresponding fields of this object, as if by assignment; the
 contents of the fields are not themselves cloned. Thus, this method performs a "shallow copy" of
 this object, not a "deep copy" operation.
 
 The class Object does not itself implement the interface Cloneable, so calling
 the clone method on an object whose class is Object will result in throwing an
 exception at run time.
clone in class ObjectCloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses
            that override the clone method can also throw this exception to indicate that
            an instance cannot be cloned.Cloneablepublic final boolean equals(Object obj)
equals in class Objectobj - the object to compare withtrue if the argument is the same route,
          falseObject.hashCode(), 
HashMappublic final int getHopCount()
RouteInfogetHopCount in interface RouteInfopublic final HttpHost getHopTarget(int hop)
RouteInfotarget host,
 the target of previous hops is the respective proxy in the chain.
 For a route through exactly one proxy, target of hop 0 is the proxy
 and target of hop 1 is the target host.getHopTarget in interface RouteInfohop - index of the hop for which to get the target,
                  0 for firstpublic final RouteInfo.LayerType getLayerType()
RouteInfogetLayerType in interface RouteInfopublic final InetAddress getLocalAddress()
RouteInfogetLocalAddress in interface RouteInfonullpublic final InetSocketAddress getLocalSocketAddress()
public final HttpHost getProxyHost()
RouteInfogetProxyHost in interface RouteInfonull if this route is directpublic final HttpHost getTargetHost()
RouteInfogetTargetHost in interface RouteInfopublic final RouteInfo.TunnelType getTunnelType()
RouteInfogetTunnelType in interface RouteInfopublic final int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object)public final boolean isLayered()
RouteInfopublic final boolean isSecure()
RouteInfopublic final boolean isTunnelled()
RouteInfoisTunnelled in interface RouteInfotrue if tunnelled end-to-end through at least
          one proxy,
          false otherwise