KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > httpclient > protocol > ProtocolSocketFactory


1 /*
2  * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/protocol/ProtocolSocketFactory.java,v 1.5.2.2 2004/02/22 18:21:16 olegk Exp $
3  * $Revision: 1.5.2.2 $
4  * $Date: 2004/02/22 18:21:16 $
5  *
6  * ====================================================================
7  *
8  * Copyright 2002-2004 The Apache Software Foundation
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  * ====================================================================
22  *
23  * This software consists of voluntary contributions made by many
24  * individuals on behalf of the Apache Software Foundation. For more
25  * information on the Apache Software Foundation, please see
26  * <http://www.apache.org/>.
27  *
28  * [Additional notices, if required by prior licensing conditions]
29  *
30  */

31
32 package org.apache.commons.httpclient.protocol;
33
34 import java.io.IOException JavaDoc;
35 import java.net.InetAddress JavaDoc;
36 import java.net.Socket JavaDoc;
37 import java.net.UnknownHostException JavaDoc;
38
39 /**
40  * A factory for creating Sockets.
41  *
42  * <p>Both {@link java.lang.Object#equals(java.lang.Object) Object.equals()} and
43  * {@link java.lang.Object#hashCode() Object.hashCode()} should be overridden appropriately.
44  * Protocol socket factories are used to uniquely identify <code>Protocol</code>s and
45  * <code>HostConfiguration</code>s, and <code>equals()</code> and <code>hashCode()</code> are
46  * required for the correct operation of some connection managers.</p>
47  *
48  * @see Protocol
49  *
50  * @author Michael Becke
51  * @author <a HREF="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
52  *
53  * @since 2.0
54  */

55 public interface ProtocolSocketFactory {
56
57     /**
58      * Gets a new socket connection to the given host.
59      *
60      * @param host the host name/IP
61      * @param port the port on the host
62      * @param clientHost the local host name/IP to bind the socket to
63      * @param clientPort the port on the local machine
64      *
65      * @return Socket a new socket
66      *
67      * @throws IOException if an I/O error occurs while creating the socket
68      * @throws UnknownHostException if the IP address of the host cannot be
69      * determined
70      */

71     Socket JavaDoc createSocket(
72         String JavaDoc host,
73         int port,
74         InetAddress JavaDoc clientHost,
75         int clientPort
76     ) throws IOException JavaDoc, UnknownHostException JavaDoc;
77
78     /**
79      * Gets a new socket connection to the given host.
80      *
81      * @param host the host name/IP
82      * @param port the port on the host
83      *
84      * @return Socket a new socket
85      *
86      * @throws IOException if an I/O error occurs while creating the socket
87      * @throws UnknownHostException if the IP address of the host cannot be
88      * determined
89      */

90     Socket JavaDoc createSocket(
91         String JavaDoc host,
92         int port
93     ) throws IOException JavaDoc, UnknownHostException JavaDoc;
94
95 }
96
Popular Tags