org.apache.commons.httpclient.protocol
Class Protocol
java.lang.Object
org.apache.commons.httpclient.protocol.Protocol
public class Protocol
extends java.lang.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 );
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
.
scheme
- the scheme (e.g. http, https)factory
- the factory for creating sockets for communication using
this protocoldefaultPort
- the port this protocol defaults to
Protocol
public Protocol(String scheme,
SecureProtocolSocketFactory factory,
int defaultPort)
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
.
scheme
- the scheme (e.g. http, https)factory
- the factory for creating sockets for communication using
this protocoldefaultPort
- the port this protocol defaults to
equals
public boolean equals(Object obj)
Return true if the specified object equals this object.
obj
- The object to compare against.
- true if the objects are equal.
getDefaultPort
public int getDefaultPort()
Returns the defaultPort.
getProtocol
public static Protocol getProtocol(String id)
throws IllegalStateException
Gets the protocol with the given ID.
getScheme
public String getScheme()
Returns the scheme.
getSocketFactory
public ProtocolSocketFactory getSocketFactory()
Returns the socketFactory. If secure the factory is a
SecureProtocolSocketFactory.
hashCode
public int hashCode()
Return a hash code for this object
isSecure
public boolean isSecure()
Returns true if this protocol is secure
- true if this protocol is secure
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).
id
- the identifier for this protocolprotocol
- the protocol to register
resolvePort
public int resolvePort(int port)
Resolves the correct port for this protocol. Returns the given port if
valid or the default port otherwise.
port
- the port to be resolved
- the given port or the defaultPort
toString
public String toString()
Return a string representation of this object.
- a string representation of this object.
unregisterProtocol
public static void unregisterProtocol(String id)
Unregisters the protocol with the given ID.
id
- the ID of the protocol to remove
Copyright (c) 1999-2005 - Apache Software Foundation