Class NNTP
- java.lang.Object
-
- org.apache.commons.net.SocketClient
-
- org.apache.commons.net.nntp.NNTP
-
- Direct Known Subclasses:
NNTPClient
public class NNTP extends SocketClient
The NNTP class is not meant to be used by itself and is provided only so that you may easily implement your own NNTP client if you so desire. If you have no need to perform your own implementation, you should useNNTPClient
. The NNTP class is made public to provide access to various NNTP constants and to make it easier for adventurous programmers (or those with special needs) to interact with the NNTP protocol and implement their own clients. A set of methods with names corresponding to the NNTP command names are provided to facilitate this interaction.You should keep in mind that the NNTP server may choose to prematurely close a connection if the client has been idle for longer than a given time period or if the server is being shutdown by the operator or some other reason. The NNTP class will detect a premature NNTP server connection closing when it receives a
NNTPReply.SERVICE_DISCONTINUED
response to a command. When that occurs, the NNTP class method encountering that reply will throw anNNTPConnectionClosedException
.NNTPConectionClosedException
is a subclass ofIOException
and therefore need not be caught separately, but if you are going to catch it separately, its catch block must appear before the more generalIOException
catch block. When you encounter anNNTPConnectionClosedException
, you must disconnect the connection withdisconnect()
to properly clean up the system resources used by NNTP. Before disconnecting, you may check the last reply code and text withgetReplyCode
andgetReplyString
.Rather than list it separately for each method, we mention here that every method communicating with the server and throwing an IOException can also throw a
MalformedServerReplyException
, which is a subclass of IOException. A MalformedServerReplyException will be thrown when the reply received from the server deviates enough from the protocol specification that it cannot be interpreted in a useful manner despite attempts to be as lenient as possible.
-
-
Field Summary
Fields Modifier and Type Field Description protected ProtocolCommandSupport
_commandSupport_
A ProtocolCommandSupport object used to manage the registering of ProtocolCommandListeners and te firing of ProtocolCommandEvents.protected java.io.BufferedReader
_reader_
WrapsSocketClient._input_
to communicate with server.protected java.io.BufferedWriter
_writer_
WrapsSocketClient._output_
to communicate with server.static int
DEFAULT_PORT
The default NNTP port.-
Fields inherited from class org.apache.commons.net.SocketClient
_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL
-
-
Constructor Summary
Constructors Constructor Description NNTP()
The default NNTP constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
_connectAction_()
Initiates control connections and gets initial reply, determining if the client is allowed to post to the server.int
article()
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.int
article(int a)
Deprecated.int
article(long articleNumber)
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.int
article(java.lang.String messageId)
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.int
authinfoPass(java.lang.String password)
A convenience method to send the AUTHINFO PASS command to the server, receive the reply, and return the reply code.int
authinfoUser(java.lang.String username)
A convenience method to send the AUTHINFO USER command to the server, receive the reply, and return the reply code.int
body()
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.int
body(int a)
Deprecated.int
body(long articleNumber)
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.int
body(java.lang.String messageId)
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.void
disconnect()
Closes the connection to the NNTP server and sets to null some internal data so that the memory may be reclaimed by the garbage collector.protected ProtocolCommandSupport
getCommandSupport()
Provide command support to super-classint
getReply()
Fetches a reply from the NNTP server and returns the integer reply code.int
getReplyCode()
Returns the integer value of the reply code of the last NNTP reply.java.lang.String
getReplyString()
Returns the entire text of the last NNTP server response exactly as it was received, not including the end of line marker.int
group(java.lang.String newsgroup)
A convenience method to send the NNTP GROUP command to the server, receive the reply, and return the reply code.int
head()
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.int
head(int a)
Deprecated.int
head(long articleNumber)
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.int
head(java.lang.String messageId)
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.int
help()
A convenience method to send the NNTP HELP command to the server, receive the reply, and return the reply code.int
ihave(java.lang.String messageId)
A convenience method to send the NNTP IHAVE command to the server, receive the reply, and return the reply code.boolean
isAllowedToPost()
Indicates whether or not the client is allowed to post articles to the server it is currently connected to.int
last()
A convenience method to send the NNTP LAST command to the server, receive the reply, and return the reply code.int
list()
A convenience method to send the NNTP LIST command to the server, receive the reply, and return the reply code.int
listActive(java.lang.String wildmat)
A convenience wrapper for the extended LIST command that takes an argument, allowing us to selectively list multiple groups.int
newgroups(java.lang.String date, java.lang.String time, boolean GMT, java.lang.String distributions)
A convenience method to send the "NEWGROUPS" command to the server, receive the reply, and return the reply code.int
newnews(java.lang.String newsgroups, java.lang.String date, java.lang.String time, boolean GMT, java.lang.String distributions)
A convenience method to send the "NEWNEWS" command to the server, receive the reply, and return the reply code.int
next()
A convenience method to send the NNTP NEXT command to the server, receive the reply, and return the reply code.int
post()
A convenience method to send the NNTP POST command to the server, receive the reply, and return the reply code.int
quit()
A convenience method to send the NNTP QUIT command to the server, receive the reply, and return the reply code.int
sendCommand(int command)
Sends an NNTP command with no arguments to the server, waits for a reply and returns the numerical response code.int
sendCommand(int command, java.lang.String args)
Sends an NNTP command to the server, waits for a reply and returns the numerical response code.int
sendCommand(java.lang.String command)
Sends an NNTP command with no arguments to the server, waits for a reply and returns the numerical response code.int
sendCommand(java.lang.String command, java.lang.String args)
Sends an NNTP command to the server, waits for a reply and returns the numerical response code.int
stat()
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.int
stat(int a)
Deprecated.int
stat(long articleNumber)
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.int
stat(java.lang.String messageId)
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.int
xhdr(java.lang.String header, java.lang.String selectedArticles)
A convenience method to send the NNTP XHDR command to the server, receive the reply, and return the reply code.int
xover(java.lang.String selectedArticles)
A convenience method to send the NNTP XOVER command to the server, receive the reply, and return the reply code.-
Methods inherited from class org.apache.commons.net.SocketClient
addProtocolCommandListener, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, fireReplyReceived, getCharset, getCharsetName, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
The default NNTP port. Its value is 119 according to RFC 977.- See Also:
- Constant Field Values
-
_reader_
protected java.io.BufferedReader _reader_
WrapsSocketClient._input_
to communicate with server. Initialized by_connectAction_()
. All server reads should be done through this variable.
-
_writer_
protected java.io.BufferedWriter _writer_
WrapsSocketClient._output_
to communicate with server. Initialized by_connectAction_()
. All server reads should be done through this variable.
-
_commandSupport_
protected ProtocolCommandSupport _commandSupport_
A ProtocolCommandSupport object used to manage the registering of ProtocolCommandListeners and te firing of ProtocolCommandEvents.
-
-
Method Detail
-
_connectAction_
protected void _connectAction_() throws java.io.IOException
Initiates control connections and gets initial reply, determining if the client is allowed to post to the server. Initializes_reader_
and_writer_
to wrapSocketClient._input_
andSocketClient._output_
.- Overrides:
_connectAction_
in classSocketClient
- Throws:
java.io.IOException
- (SocketException) if a problem occurs with the socket
-
disconnect
public void disconnect() throws java.io.IOException
Closes the connection to the NNTP server and sets to null some internal data so that the memory may be reclaimed by the garbage collector. The reply text and code information from the last command is voided so that the memory it used may be reclaimed.- Overrides:
disconnect
in classSocketClient
- Throws:
java.io.IOException
- If an error occurs while disconnecting.
-
isAllowedToPost
public boolean isAllowedToPost()
Indicates whether or not the client is allowed to post articles to the server it is currently connected to.- Returns:
- True if the client can post articles to the server, false otherwise.
-
sendCommand
public int sendCommand(java.lang.String command, java.lang.String args) throws java.io.IOException
Sends an NNTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyString
.- Parameters:
command
- The text representation of the NNTP command to send.args
- The arguments to the NNTP command. If this parameter is set to null, then the command is sent with no argument.- Returns:
- The integer value of the NNTP reply code returned by the server in response to the command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
public int sendCommand(int command, java.lang.String args) throws java.io.IOException
Sends an NNTP command to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyString
.- Parameters:
command
- The NNTPCommand constant corresponding to the NNTP command to send.args
- The arguments to the NNTP command. If this parameter is set to null, then the command is sent with no argument.- Returns:
- The integer value of the NNTP reply code returned by the server in response to the command. in response to the command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
public int sendCommand(java.lang.String command) throws java.io.IOException
Sends an NNTP command with no arguments to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyString
.- Parameters:
command
- The text representation of the NNTP command to send.- Returns:
- The integer value of the NNTP reply code returned by the server in response to the command. in response to the command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
sendCommand
public int sendCommand(int command) throws java.io.IOException
Sends an NNTP command with no arguments to the server, waits for a reply and returns the numerical response code. After invocation, for more detailed information, the actual reply text can be accessed by callinggetReplyString
.- Parameters:
command
- The NNTPCommand constant corresponding to the NNTP command to send.- Returns:
- The integer value of the NNTP reply code returned by the server in response to the command. in response to the command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
getReplyCode
public int getReplyCode()
Returns the integer value of the reply code of the last NNTP reply. You will usually only use this method after you connect to the NNTP server to check that the connection was successful sinceconnect
is of type void.- Returns:
- The integer value of the reply code of the last NNTP reply.
-
getReply
public int getReply() throws java.io.IOException
Fetches a reply from the NNTP server and returns the integer reply code. After calling this method, the actual reply text can be accessed fromgetReplyString
. Only use this method if you are implementing your own NNTP client or if you need to fetch a secondary response from the NNTP server.- Returns:
- The integer value of the reply code of the fetched NNTP reply. in response to the command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while receiving the server reply.
-
getReplyString
public java.lang.String getReplyString()
Returns the entire text of the last NNTP server response exactly as it was received, not including the end of line marker.- Returns:
- The entire text from the last NNTP response as a String.
-
article
public int article(java.lang.String messageId) throws java.io.IOException
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.- Parameters:
messageId
- The message identifier of the requested article, including the encapsulating < and > characters.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
article
public int article(long articleNumber) throws java.io.IOException
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.- Parameters:
articleNumber
- The number of the article to request from the currently selected newsgroup.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
article
public int article() throws java.io.IOException
A convenience method to send the NNTP ARTICLE command to the server, receive the initial reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
body
public int body(java.lang.String messageId) throws java.io.IOException
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.- Parameters:
messageId
- The message identifier of the requested article, including the encapsulating < and > characters.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
body
public int body(long articleNumber) throws java.io.IOException
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.- Parameters:
articleNumber
- The number of the article to request from the currently selected newsgroup.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
body
public int body() throws java.io.IOException
A convenience method to send the NNTP BODY command to the server, receive the initial reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
head
public int head(java.lang.String messageId) throws java.io.IOException
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.- Parameters:
messageId
- The message identifier of the requested article, including the encapsulating < and > characters.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
head
public int head(long articleNumber) throws java.io.IOException
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.- Parameters:
articleNumber
- The number of the article to request from the currently selected newsgroup.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
head
public int head() throws java.io.IOException
A convenience method to send the NNTP HEAD command to the server, receive the initial reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
stat
public int stat(java.lang.String messageId) throws java.io.IOException
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.- Parameters:
messageId
- The message identifier of the requested article, including the encapsulating < and > characters.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
stat
public int stat(long articleNumber) throws java.io.IOException
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.- Parameters:
articleNumber
- The number of the article to request from the currently selected newsgroup.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
stat
public int stat() throws java.io.IOException
A convenience method to send the NNTP STAT command to the server, receive the initial reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
group
public int group(java.lang.String newsgroup) throws java.io.IOException
A convenience method to send the NNTP GROUP command to the server, receive the reply, and return the reply code.- Parameters:
newsgroup
- The name of the newsgroup to select.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
help
public int help() throws java.io.IOException
A convenience method to send the NNTP HELP command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
ihave
public int ihave(java.lang.String messageId) throws java.io.IOException
A convenience method to send the NNTP IHAVE command to the server, receive the reply, and return the reply code.- Parameters:
messageId
- The article identifier, including the encapsulating < and > characters.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
last
public int last() throws java.io.IOException
A convenience method to send the NNTP LAST command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
list
public int list() throws java.io.IOException
A convenience method to send the NNTP LIST command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
next
public int next() throws java.io.IOException
A convenience method to send the NNTP NEXT command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
newgroups
public int newgroups(java.lang.String date, java.lang.String time, boolean GMT, java.lang.String distributions) throws java.io.IOException
A convenience method to send the "NEWGROUPS" command to the server, receive the reply, and return the reply code.- Parameters:
date
- The date after which to check for new groups. Date format is YYMMDDtime
- The time after which to check for new groups. Time format is HHMMSS using a 24-hour clock.GMT
- True if the time is in GMT, false if local server time.distributions
- Comma-separated distribution list to check for new groups. Set to null if no distributions.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
newnews
public int newnews(java.lang.String newsgroups, java.lang.String date, java.lang.String time, boolean GMT, java.lang.String distributions) throws java.io.IOException
A convenience method to send the "NEWNEWS" command to the server, receive the reply, and return the reply code.- Parameters:
newsgroups
- A comma-separated list of newsgroups to check for new news.date
- The date after which to check for new news. Date format is YYMMDDtime
- The time after which to check for new news. Time format is HHMMSS using a 24-hour clock.GMT
- True if the time is in GMT, false if local server time.distributions
- Comma-separated distribution list to check for new news. Set to null if no distributions.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
post
public int post() throws java.io.IOException
A convenience method to send the NNTP POST command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
quit
public int quit() throws java.io.IOException
A convenience method to send the NNTP QUIT command to the server, receive the reply, and return the reply code.- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
authinfoUser
public int authinfoUser(java.lang.String username) throws java.io.IOException
A convenience method to send the AUTHINFO USER command to the server, receive the reply, and return the reply code. (See RFC 2980)- Parameters:
username
- A valid username.- Returns:
- The reply code received from the server. The server should return a 381 or 281 for this command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
authinfoPass
public int authinfoPass(java.lang.String password) throws java.io.IOException
A convenience method to send the AUTHINFO PASS command to the server, receive the reply, and return the reply code. If this step is required, it should immediately follow the AUTHINFO USER command (See RFC 2980)- Parameters:
password
- a valid password.- Returns:
- The reply code received from the server. The server should return a 281 or 502 for this command.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
xover
public int xover(java.lang.String selectedArticles) throws java.io.IOException
A convenience method to send the NNTP XOVER command to the server, receive the reply, and return the reply code.- Parameters:
selectedArticles
- a String representation of the range of article headers required. This may be an article number, or a range of article numbers in the form "XXXX-YYYY", where XXXX and YYYY are valid article numbers in the current group. It also may be of the form "XXX-", meaning "return XXX and all following articles" In this revision, the last format is not possible (yet).- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
xhdr
public int xhdr(java.lang.String header, java.lang.String selectedArticles) throws java.io.IOException
A convenience method to send the NNTP XHDR command to the server, receive the reply, and return the reply code.- Parameters:
header
- a String naming a header line (e.g., "subject"). See RFC-1036 for a list of valid header lines.selectedArticles
- a String representation of the range of article headers required. This may be an article number, or a range of article numbers in the form "XXXX-YYYY", where XXXX and YYYY are valid article numbers in the current group. It also may be of the form "XXX-", meaning "return XXX and all following articles" In this revision, the last format is not possible (yet).- Returns:
- The reply code received from the server.
- Throws:
NNTPConnectionClosedException
- If the NNTP server prematurely closes the connection as a result of the client being idle or some other reason causing the server to send NNTP reply code 400. This exception may be caught either as an IOException or independently as itself.java.io.IOException
- If an I/O error occurs while either sending the command or receiving the server reply.
-
listActive
public int listActive(java.lang.String wildmat) throws java.io.IOException
A convenience wrapper for the extended LIST command that takes an argument, allowing us to selectively list multiple groups.- Parameters:
wildmat
- A wildmat (pseudo-regex) pattern. See RFC 2980 for details.- Returns:
- the reply code received from the server.
- Throws:
java.io.IOException
- if the command fails
-
article
@Deprecated public int article(int a) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
body
@Deprecated public int body(int a) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
head
@Deprecated public int head(int a) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
stat
@Deprecated public int stat(int a) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
getCommandSupport
protected ProtocolCommandSupport getCommandSupport()
Provide command support to super-class- Overrides:
getCommandSupport
in classSocketClient
- Returns:
- the CommandSupport instance, may be
null
-
-