Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
StreamSource |
|
| 1.0;1 |
1 | /* | |
2 | * Created on 16-Apr-2004 | |
3 | */ | |
4 | package ca.uhn.hl7v2.protocol; | |
5 | ||
6 | import java.io.InputStream; | |
7 | import java.io.OutputStream; | |
8 | ||
9 | /** | |
10 | * A source of input and output streams for use with stream-based | |
11 | * <code>TransportLayer</code>s. Implementations should contain the | |
12 | * necessary information for reconnecting streams as necessary. For | |
13 | * example a ServerSocket-based implementation should be able to listen | |
14 | * for fresh connections and get new streams from them (this must be | |
15 | * done when refresh() is called). | |
16 | * | |
17 | * @author <a href="mailto:bryan.tripp@uhn.on.ca">Bryan Tripp</a> | |
18 | * @version $Revision: 1.1 $ updated on $Date: 2007-02-19 02:24:38 $ by $Author: jamesagnew $ | |
19 | */ | |
20 | public interface StreamSource { | |
21 | ||
22 | /** | |
23 | * Gets new streams. This should be called only if one of the streams | |
24 | * is dead. | |
25 | * @throws TransportException | |
26 | */ | |
27 | public void connect() throws TransportException; | |
28 | ||
29 | /** | |
30 | * Closes streams and underlying connections. | |
31 | * @throws TransportException | |
32 | */ | |
33 | public void disconnect() throws TransportException; | |
34 | ||
35 | /** | |
36 | * @return the stream to which we write outbound messages. | |
37 | * @throws TransportException | |
38 | */ | |
39 | public OutputStream getOutboundStream() throws TransportException; | |
40 | ||
41 | /** | |
42 | * @return the stream to which we expect the remote server to send messages. | |
43 | * @throws TransportException | |
44 | */ | |
45 | public InputStream getInboundStream() throws TransportException; | |
46 | ||
47 | } |