Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
IClient |
|
| 1.0;1 |
1 | package ca.uhn.hl7v2.hoh.api; | |
2 | ||
3 | import java.net.Socket; | |
4 | import java.net.URL; | |
5 | import java.nio.charset.Charset; | |
6 | ||
7 | import ca.uhn.hl7v2.hoh.sign.ISigner; | |
8 | import ca.uhn.hl7v2.hoh.sockets.ISocketFactory; | |
9 | import ca.uhn.hl7v2.hoh.sockets.StandardSocketFactory; | |
10 | ||
11 | public interface IClient { | |
12 | ||
13 | /** | |
14 | * Getter for the host (e.g. "10.0.0.111" or "localhost") | |
15 | */ | |
16 | String getHost(); | |
17 | ||
18 | /** | |
19 | * Getter for the port (e.g. 80 for standard HTTP) | |
20 | */ | |
21 | int getPort(); | |
22 | ||
23 | /** | |
24 | * Returns the socket factory used by this client | |
25 | */ | |
26 | ISocketFactory getSocketFactory(); | |
27 | ||
28 | /** | |
29 | * Getter for the "Path" portion of the URL. This is the path portion which | |
30 | * comes after the host and port, so for example if this client is being | |
31 | * used to send messages to | |
32 | * <code>http://somehost.com:8888/messaging/receiver.jsp</code>, the URI | |
33 | * path portion would be <code>/messaging/receiver.jsp</code> | |
34 | */ | |
35 | String getUriPath(); | |
36 | ||
37 | /** | |
38 | * Getter for the URL to send messages to. | |
39 | */ | |
40 | URL getUrl(); | |
41 | ||
42 | /** | |
43 | * If set, provides a callback which will be used to se the username and | |
44 | * password associated with the request | |
45 | */ | |
46 | void setAuthorizationCallback(IAuthorizationClientCallback theAuthorizationCallback); | |
47 | ||
48 | /** | |
49 | * <p> | |
50 | * Sets the charset to use for requests from this client. May be changed at | |
51 | * any time. | |
52 | * </p> | |
53 | * <p> | |
54 | * Default is UTF-8 | |
55 | * </p> | |
56 | */ | |
57 | void setCharset(Charset theCharset); | |
58 | ||
59 | /** | |
60 | * Setter for the host (e.g. "10.0.0.111" or "localhost") | |
61 | */ | |
62 | void setHost(String theHost); | |
63 | ||
64 | /** | |
65 | * Configures the TCP KeepAlive flag for new connections | |
66 | * | |
67 | * @see Socket#getKeepAlive() | |
68 | */ | |
69 | void setKeepAlive(boolean theKeepAlive); | |
70 | ||
71 | /** | |
72 | * Returns the TCP KeepAlive flag for new connections | |
73 | * | |
74 | * @see Socket#getKeepAlive() | |
75 | */ | |
76 | boolean isKeepAlive(); | |
77 | ||
78 | /** | |
79 | * Sets the TCP SO Timeout setting for new connections | |
80 | * | |
81 | * @see Socket#getSoTimeout() | |
82 | */ | |
83 | void setSoTimeout(int theSoTimeout); | |
84 | ||
85 | /** | |
86 | * Returns the TCP SO Timeout setting for new connections | |
87 | * | |
88 | * @see Socket#getSoTimeout() | |
89 | */ | |
90 | int getSoTimeout(); | |
91 | ||
92 | /** | |
93 | * Setter for the "Path" portion of the URL. This is the path portion which | |
94 | * comes after the host and port, so for example if this client is being | |
95 | * used to send messages to | |
96 | * <code>http://somehost.com:8888/messaging/receiver.jsp</code>, the URI | |
97 | * path portion would be <code>/messaging/receiver.jsp</code> | |
98 | */ | |
99 | void setUriPath(String thePath); | |
100 | ||
101 | /** | |
102 | * Getter for the port (e.g. 80 for standard HTTP) | |
103 | */ | |
104 | void setPort(int thePort); | |
105 | ||
106 | /** | |
107 | * Sets the number of milliseconds before timing out. Default is | |
108 | * {@link #DEFAULT_RESPONSE_TIMEOUT} | |
109 | * | |
110 | * @param theResponseTimeout | |
111 | * The millis to wait before timeout. | |
112 | * @see #DEFAULT_RESPONSE_TIMEOUT | |
113 | */ | |
114 | void setResponseTimeout(long theResponseTimeout); | |
115 | ||
116 | /** | |
117 | * @param theSigner | |
118 | * If provided, sets the Signature Profile signer implementation | |
119 | * to use. See <a href= | |
120 | * "http://hl7api.sourceforge.net/hapi-hl7overhttp/specification.html#SIGNATURE_PROFILE" | |
121 | * >http://hl7api.sourceforge.net/hapi-hl7overhttp/specification. | |
122 | * html#SIGNATURE_PROFILE</a> | |
123 | */ | |
124 | void setSigner(ISigner theSigner); | |
125 | ||
126 | /** | |
127 | * Sets the socket factory used by this client. Default is | |
128 | * {@link StandardSocketFactory}. | |
129 | * | |
130 | * @see ISocketFactory | |
131 | */ | |
132 | void setSocketFactory(ISocketFactory theSocketFactory); | |
133 | ||
134 | /** | |
135 | * Setter for the URL to send messages to. | |
136 | * Note that invoking this method replaces any values that have been | |
137 | * provided to {@link #setHost(String)}, {@link #setPort(int)}, or {@link #setUriPath(String)} | |
138 | */ | |
139 | void setUrl(URL theUrl); | |
140 | ||
141 | /** | |
142 | * Setter for the URL to send messages to. | |
143 | * Note that invoking this method replaces any values that have been | |
144 | * provided to {@link #setHost(String)}, {@link #setPort(int)}, or {@link #setUriPath(String)} | |
145 | */ | |
146 | void setUrlString(String theString); | |
147 | ||
148 | /** | |
149 | * Getter for the URL to send messages to. | |
150 | */ | |
151 | String getUrlString(); | |
152 | ||
153 | } |