## org.apache.http.conn.routing
Class BasicRouteDirector

    java.lang.Object
      org.apache.http.conn.routing.BasicRouteDirector

All Implemented Interfaces:
  HttpRouteDirector

    @Immutable
    public class BasicRouteDirector

extends Object
implements HttpRouteDirector

Basic implementation of an `HttpRouteDirector`. This implementation is stateless and therefore thread-safe.

Since:
  4.0

Field Summary

Fields inherited from interface org.apache.http.conn.routing.HttpRouteDirector
`COMPLETE, CONNECT_PROXY, CONNECT_TARGET, LAYER_PROTOCOL, TUNNEL_PROXY, TUNNEL_TARGET, UNREACHABLE`

Constructor Summary
`BasicRouteDirector()`

Method Summary
`protected int` `directStep(RouteInfo plan, RouteInfo fact)` Determines the next step to establish a direct connection.
`protected int` `firstStep(RouteInfo plan)` Determines the first step to establish a route.
`int` `nextStep(RouteInfo plan, RouteInfo fact)` Provides the next step.
`protected int` `proxiedStep(RouteInfo plan, RouteInfo fact)` Determines the next step to establish a connection via proxy.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BasicRouteDirector

    public BasicRouteDirector()

Method Detail

### nextStep

    public int nextStep(RouteInfo plan,
                        RouteInfo fact)

  Provides the next step.

  Specified by:
    `nextStep` in interface `HttpRouteDirector`
  Parameters:
    `plan` - the planned route
    `fact` - the currently established route, or `null` if nothing is established
  Returns:
    one of the constants defined in this class, indicating either the next step to perform, or success, or failure. 0 is for success, a negative value for failure.

### firstStep

    protected int firstStep(RouteInfo plan)

  Determines the first step to establish a route.

  Parameters:
    `plan` - the planned route
  Returns:
    the first step

### directStep

    protected int directStep(RouteInfo plan,
                             RouteInfo fact)

  Determines the next step to establish a direct connection.

  Parameters:
    `plan` - the planned route
    `fact` - the currently established route
  Returns:
    one of the constants defined in this class, indicating either the next step to perform, or success, or failure

### proxiedStep

    protected int proxiedStep(RouteInfo plan,
                              RouteInfo fact)

  Determines the next step to establish a connection via proxy.

  Parameters:
    `plan` - the planned route
    `fact` - the currently established route
  Returns:
    one of the constants defined in this class, indicating either the next step to perform, or success, or failure

Copyright © 1999-2012 The Apache Software Foundation. All Rights Reserved.