All Packages Class Hierarchy This Package Previous Next Index
Class com.oroinc.net.nntp.NNTP
java.lang.Object
|
+----com.oroinc.net.SocketClient
|
+----com.oroinc.net.nntp.NNTP
- 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 use NNTPClient.
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
an
NNTPConnectionClosedException .
NNTPConectionClosedException
is a subclass of IOException
and therefore need not be
caught separately, but if you are going to catch it separately, its
catch block must appear before the more general IOException
catch block. When you encounter an
NNTPConnectionClosedException , you must disconnect the connection with
disconnect() to properly clean up the
system resources used by NNTP. Before disconnecting, you may check the
last reply code and text with
getReplyCode and
getReplyString .
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.
Copyright © 1997 Original Reusable Objects, Inc.
All rights reserved.
- See Also:
- NNTPClient, NNTPConnectionClosedException, MalformedServerReplyException
-
_commandSupport_
- A ProtocolCommandSupport object used to manage the registering of
ProtocolCommandListeners and te firing of ProtocolCommandEvents.
-
DEFAULT_PORT
- The default NNTP port.
-
NNTP()
- The default NNTP constructor.
-
_connectAction_()
-
Initiates control connections and gets initial reply, determining
if the client is allowed to post to the server.
-
addProtocolCommandListener(ProtocolCommandListener)
- Adds a ProtocolCommandListener.
-
article()
- A convenience method to send the NNTP ARTICLE command to the server,
receive the initial reply, and return the reply code.
-
article(int)
- A convenience method to send the NNTP ARTICLE command to the server,
receive the initial reply, and return the reply code.
-
article(String)
- A convenience method to send the NNTP ARTICLE command to the server,
receive the initial reply, and return the reply code.
-
body()
- A convenience method to send the NNTP BODY command to the server,
receive the initial reply, and return the reply code.
-
body(int)
- A convenience method to send the NNTP BODY command to the server,
receive the initial reply, and return the reply code.
-
body(String)
- A convenience method to send the NNTP BODY command to the server,
receive the initial reply, and return the reply code.
-
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.
-
getReply()
- Fetches a reply from the NNTP server and returns the integer reply
code.
-
getReplyCode()
- Returns the integer value of the reply code of the last NNTP reply.
-
getReplyString()
- Returns the entire text of the last NNTP server response exactly
as it was received, not including the end of line marker.
-
group(String)
- A convenience method to send the NNTP GROUP command to the server,
receive the reply, and return the reply code.
-
head()
- A convenience method to send the NNTP HEAD command to the server,
receive the initial reply, and return the reply code.
-
head(int)
- A convenience method to send the NNTP HEAD command to the server,
receive the initial reply, and return the reply code.
-
head(String)
- A convenience method to send the NNTP HEAD command to the server,
receive the initial reply, and return the reply code.
-
help()
- A convenience method to send the NNTP HELP command to the server,
receive the reply, and return the reply code.
-
ihave(String)
- A convenience method to send the NNTP IHAVE command to the server,
receive the reply, and return the reply code.
-
isAllowedToPost()
- Indicates whether or not the client is allowed to post articles to
the server it is currently connected to.
-
last()
- A convenience method to send the NNTP LAST command to the server,
receive the reply, and return the reply code.
-
list()
- A convenience method to send the NNTP LIST command to the server,
receive the reply, and return the reply code.
-
newgroups(String, String, boolean, String)
- A convenience method to send the NNTP NEWGROUPS command to the server,
receive the reply, and return the reply code.
-
newnews(String, String, String, boolean, String)
- A convenience method to send the NNTP NEWGROUPS command to the server,
receive the reply, and return the reply code.
-
next()
- A convenience method to send the NNTP NEXT command to the server,
receive the reply, and return the reply code.
-
post()
- A convenience method to send the NNTP POST command to the server,
receive the reply, and return the reply code.
-
quit()
- A convenience method to send the NNTP QUIT command to the server,
receive the reply, and return the reply code.
-
removeProtocolCommandistener(ProtocolCommandListener)
- Removes a ProtocolCommandListener.
-
sendCommand(int)
- Sends an NNTP command with no arguments to the server, waits for a
reply and returns the numerical response code.
-
sendCommand(int, String)
- Sends an NNTP command to the server, waits for a reply and returns the
numerical response code.
-
sendCommand(String)
- Sends an NNTP command with no arguments to the server, waits for a
reply and returns the numerical response code.
-
sendCommand(String, String)
- Sends an NNTP command to the server, waits for a reply and returns the
numerical response code.
-
stat()
- A convenience method to send the NNTP STAT command to the server,
receive the initial reply, and return the reply code.
-
stat(int)
- A convenience method to send the NNTP STAT command to the server,
receive the initial reply, and return the reply code.
-
stat(String)
- A convenience method to send the NNTP STAT command to the server,
receive the initial reply, and return the reply code.
DEFAULT_PORT
public static final int DEFAULT_PORT
- The default NNTP port. Its value is 119 according to RFC 977.
_commandSupport_
protected ProtocolCommandSupport _commandSupport_
- A ProtocolCommandSupport object used to manage the registering of
ProtocolCommandListeners and te firing of ProtocolCommandEvents.
NNTP
public NNTP()
- The default NNTP constructor. Sets the default port to
DEFAULT_PORT
and initializes internal data structures
for saving NNTP reply information.
_connectAction_
protected void _connectAction_() throws IOException
- Initiates control connections and gets initial reply, determining
if the client is allowed to post to the server.
- Overrides:
- _connectAction_ in class SocketClient
addProtocolCommandListener
public void addProtocolCommandListener(ProtocolCommandListener listener)
- Adds a ProtocolCommandListener. Delegates this task to
_commandSupport_ .
- Parameters:
- listener - The ProtocolCommandListener to add.
removeProtocolCommandistener
public void removeProtocolCommandistener(ProtocolCommandListener listener)
- Removes a ProtocolCommandListener. Delegates this task to
_commandSupport_ .
- Parameters:
- listener - The ProtocolCommandListener to remove.
disconnect
public void disconnect() throws 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.
- Throws: IOException
- If an error occurs while disconnecting.
- Overrides:
- disconnect in class SocketClient
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(String command,
String args) throws 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 calling
getReplyString .
- 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
sendCommand
public int sendCommand(int command,
String args) throws 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 calling
getReplyString .
- 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
sendCommand
public int sendCommand(String command) throws 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
calling getReplyString .
- 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
sendCommand
public int sendCommand(int command) throws 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
calling getReplyString .
- 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.
- Throws: 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 since
connect
is of type void.
- Returns:
- The integer value of the reply code of the last NNTP reply.
getReply
public int getReply() throws 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
from getReplyString . 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.
- Throws: IOException
- If an I/O error occurs while
receiving the server reply.
getReplyString
public 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(String messageId) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
article
public int article(int articleNumber) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
article
public int article() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
body
public int body(String messageId) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
body
public int body(int articleNumber) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
body
public int body() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
head
public int head(String messageId) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
head
public int head(int articleNumber) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
head
public int head() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
stat
public int stat(String messageId) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
stat
public int stat(int articleNumber) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
stat
public int stat() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
group
public int group(String newsgroup) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
help
public int help() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
ihave
public int ihave(String messageId) throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
last
public int last() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
list
public int list() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
next
public int next() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
newgroups
public int newgroups(String date,
String time,
boolean GMT,
String distributions) throws IOException
- A convenience method to send the NNTP 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 YYMMDD
- time - 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
newnews
public int newnews(String newsgroups,
String date,
String time,
boolean GMT,
String distributions) throws IOException
- A convenience method to send the NNTP NEWGROUPS 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 YYMMDD
- time - 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
post
public int post() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
quit
public int quit() throws 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.
- Throws: IOException
- If an I/O error occurs while either sending the
command or receiving the server reply.
All Packages Class Hierarchy This Package Previous Next Index