FileDocCategorySizeDatePackage
PlainSocketFactory.javaAPI DocAndroid 1.5 API5802Wed May 06 22:41:10 BST 2009org.apache.http.conn.scheme

PlainSocketFactory

public final class PlainSocketFactory extends Object implements SocketFactory
The default class for creating sockets.
author
Roland Weber
author
Michael Becke

Fields Summary
private static final PlainSocketFactory
DEFAULT_FACTORY
The factory singleton.
private final HostNameResolver
nameResolver
Constructors Summary
public PlainSocketFactory(HostNameResolver nameResolver)

        super();
        this.nameResolver = nameResolver;
    
public PlainSocketFactory()

        this(null);
    
Methods Summary
public java.net.SocketconnectSocket(java.net.Socket sock, java.lang.String host, int port, java.net.InetAddress localAddress, int localPort, org.apache.http.params.HttpParams params)


        if (host == null) {
            throw new IllegalArgumentException("Target host may not be null.");
        }
        if (params == null) {
            throw new IllegalArgumentException("Parameters may not be null.");
        }

        if (sock == null)
            sock = createSocket();

        if ((localAddress != null) || (localPort > 0)) {

            // we need to bind explicitly
            if (localPort < 0)
                localPort = 0; // indicates "any"

            InetSocketAddress isa =
                new InetSocketAddress(localAddress, localPort);
            sock.bind(isa);
        }

        int timeout = HttpConnectionParams.getConnectionTimeout(params);

        InetSocketAddress remoteAddress;
        if (this.nameResolver != null) {
            remoteAddress = new InetSocketAddress(this.nameResolver.resolve(host), port); 
        } else {
            remoteAddress = new InetSocketAddress(host, port);            
        }
        
        sock.connect(remoteAddress, timeout);

        return sock;

    
public java.net.SocketcreateSocket()

        return new Socket();
    
public booleanequals(java.lang.Object obj)
Compares this factory with an object. There is only one instance of this class.

param
obj the object to compare with
return
iff the argument is this object

        return (obj == this);
    
public static org.apache.http.conn.scheme.PlainSocketFactorygetSocketFactory()
Gets the singleton instance of this class.

return
the one and only plain socket factory

    
                        
        
        return DEFAULT_FACTORY;
    
public inthashCode()
Obtains a hash code for this object. All instances of this class have the same hash code. There is only one instance of this class.

        return PlainSocketFactory.class.hashCode();
    
public final booleanisSecure(java.net.Socket sock)
Checks whether a socket connection is secure. This factory creates plain socket connections which are not considered secure.

param
sock the connected socket
return
false
throws
IllegalArgumentException if the argument is invalid


        if (sock == null) {
            throw new IllegalArgumentException("Socket may not be null.");
        }
        // This class check assumes that createSocket() calls the constructor
        // directly. If it was using javax.net.SocketFactory, we couldn't make
        // an assumption about the socket class here.
        if (sock.getClass() != Socket.class) {
            throw new IllegalArgumentException
                ("Socket not created by this factory.");
        }
        // This check is performed last since it calls a method implemented
        // by the argument object. getClass() is final in java.lang.Object.
        if (sock.isClosed()) {
            throw new IllegalArgumentException("Socket is closed.");
        }

        return false;