Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.httpclient.protocol
Class Protocol

    java.lang.Object
      org.apache.commons.httpclient.protocol.Protocol

    public class Protocol

extends Object

A class to encapsulate the specifics of a protocol. This class class also provides the ability to customize the set and characteristics of the protocols used.

One use case for modifying the default set of protocols would be to set a custom SSL socket factory. This would look something like the following:

     Protocol myHTTPS = new Protocol( "https", new MySSLSocketFactory(), 443 );

     Protocol.registerProtocol( "https", myHTTPS );

Since:
  2.0
Author:
  Michael Becke, Jeff Dever, Mike Bowler

Constructor Summary
`Protocol(String scheme, ProtocolSocketFactory factory, int defaultPort)` Constructs a new Protocol.
`Protocol(String scheme, SecureProtocolSocketFactory factory, int defaultPort)` Deprecated. Use the constructor that uses ProtocolSocketFactory, this version of the constructor is only kept for backwards API compatibility.

Method Summary
`boolean` | `equals(Object obj)` Return true if the specified object equals this object.
`int` | `getDefaultPort()` Returns the defaultPort.
`static Protocol` | `getProtocol(String id)` Gets the protocol with the given ID.
`String` | `getScheme()` Returns the scheme.
`ProtocolSocketFactory` | `getSocketFactory()` Returns the socketFactory.
`int` | `hashCode()` Return a hash code for this object
`boolean` | `isSecure()` Returns true if this protocol is secure
`static void` | `registerProtocol(String id, Protocol protocol)` Registers a new protocol with the given identifier.
`int` | `resolvePort(int port)` Resolves the correct port for this protocol.
`String` | `toString()` Return a string representation of this object.
`static void` | `unregisterProtocol(String id)` Unregisters the protocol with the given ID.

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

Constructor Detail

### Protocol

    public Protocol(String scheme,
                    ProtocolSocketFactory factory,
                    int defaultPort)

  Constructs a new Protocol. Whether the created protocol is secure depends on the class of `factory`.

  Parameters:
    `scheme` - the scheme (e.g. http, https)
    `factory` - the factory for creating sockets for communication using this protocol
    `defaultPort` - the port this protocol defaults to

### Protocol

    public Protocol(String scheme,
                    SecureProtocolSocketFactory factory,
                    int defaultPort)

  Deprecated. Use the constructor that uses ProtocolSocketFactory, this version of the constructor is only kept for backwards API compatibility.

  Constructs a new Protocol. Whether the created protocol is secure depends on the class of `factory`.

  Parameters:
    `scheme` - the scheme (e.g. http, https)
    `factory` - the factory for creating sockets for communication using this protocol
    `defaultPort` - the port this protocol defaults to

Method Detail

### registerProtocol

    public static void registerProtocol(String id,
                                        Protocol protocol)

  Registers a new protocol with the given identifier. If a protocol with the given ID already exists it will be overridden. This ID is the same one used to retrieve the protocol from getProtocol(String).

  Parameters:
    `id` - the identifier for this protocol
    `protocol` - the protocol to register
  See Also:
    `getProtocol(String)`

### unregisterProtocol

    public static void unregisterProtocol(String id)

  Unregisters the protocol with the given ID.

  Parameters:
    `id` - the ID of the protocol to remove

### getProtocol

    public static Protocol getProtocol(String id)
                                throws IllegalStateException

  Gets the protocol with the given ID.

  Parameters:
    `id` - the protocol ID
  Returns:
    Protocol a protocol
  Throws:
    `IllegalStateException` - if a protocol with the ID cannot be found

### getDefaultPort

    public int getDefaultPort()

  Returns the defaultPort.

  Returns:
    int

### getSocketFactory

    public ProtocolSocketFactory getSocketFactory()

  Returns the socketFactory. If secure the factory is a SecureProtocolSocketFactory.

  Returns:
    SocketFactory

### getScheme

    public String getScheme()

  Returns the scheme.

  Returns:
    The scheme

### isSecure

    public boolean isSecure()

  Returns true if this protocol is secure

  Returns:
    true if this protocol is secure

### resolvePort

    public int resolvePort(int port)

  Resolves the correct port for this protocol. Returns the given port if valid or the default port otherwise.

  Parameters:
    `port` - the port to be resolved
  Returns:
    the given port or the defaultPort

### toString

    public String toString()

  Return a string representation of this object.

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

### equals

    public boolean equals(Object obj)

  Return true if the specified object equals this object.

  Overrides:
    `equals` in class `Object`
  Parameters:
    `obj` - The object to compare against.
  Returns:
    true if the objects are equal.

### hashCode

    public int hashCode()

  Return a hash code for this object

  Overrides:
    `hashCode` in class `Object`
  Returns:
    The hash code.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.