This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-net.git


The following commit(s) were added to refs/heads/master by this push:
     new ebab3ac6 Javadoc
ebab3ac6 is described below

commit ebab3ac66455a9512fb34e9c2315fc7a83c7fb40
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Feb 24 13:55:26 2024 -0500

    Javadoc
    
    - Close HTML tags
    - Remove extra whitespace
---
 .../java/org/apache/commons/net/ftp/FTPClient.java | 145 ++++++++++++++-------
 1 file changed, 95 insertions(+), 50 deletions(-)

diff --git a/src/main/java/org/apache/commons/net/ftp/FTPClient.java 
b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
index eb89b89d..f9622281 100644
--- a/src/main/java/org/apache/commons/net/ftp/FTPClient.java
+++ b/src/main/java/org/apache/commons/net/ftp/FTPClient.java
@@ -65,7 +65,7 @@ import org.apache.commons.net.util.NetConstants;
  * FTPClient encapsulates all the functionality necessary to store and 
retrieve files from an FTP server. This class takes care of all low level 
details of
  * interacting with an FTP server and provides a convenient higher level 
interface. As with all classes derived from
  * {@link org.apache.commons.net.SocketClient}, you must first connect to the 
server with {@link org.apache.commons.net.SocketClient#connect connect } before
- * doing anything, and finally {@link 
org.apache.commons.net.SocketClient#disconnect disconnect } after you're 
completely finished interacting with the server.
+ * doing anything, and finally {@link 
org.apache.commons.net.SocketClient#disconnect() disconnect} after you're 
completely finished interacting with the server.
  * Then you need to check the FTP reply code to see if the connection was 
successful. For example:
  *
  * <pre>
@@ -113,44 +113,53 @@ import org.apache.commons.net.util.NetConstants;
  * from the FTP server and false on a reply resulting in an error condition or 
failure. The methods returning a value other than boolean return a value
  * containing the higher level data produced by the FTP command, or null if a 
reply resulted in an error condition or failure. If you want to access the exact
  * FTP reply code causing a success or failure, you must call {@link 
org.apache.commons.net.ftp.FTP#getReplyCode getReplyCode } after a success or 
failure.
+ * </p>
  * <p>
- * The default settings for FTPClient are for it to use <code> 
FTP.ASCII_FILE_TYPE </code>, <code> FTP.NON_PRINT_TEXT_FORMAT </code>,
- * <code> FTP.STREAM_TRANSFER_MODE </code>, and <code> FTP.FILE_STRUCTURE 
</code>. The only file types directly supported are <code> FTP.ASCII_FILE_TYPE 
</code>
- * and <code> FTP.BINARY_FILE_TYPE </code>. Because there are at least 4 
different EBCDIC encodings, we have opted not to provide direct support for 
EBCDIC. To
+ * The default settings for FTPClient are for it to use 
<code>FTP.ASCII_FILE_TYPE</code>, <code>FTP.NON_PRINT_TEXT_FORMAT</code>,
+ * <code>FTP.STREAM_TRANSFER_MODE</code>, and <code>FTP.FILE_STRUCTURE</code>. 
The only file types directly supported are <code>FTP.ASCII_FILE_TYPE</code>
+ * and <code>FTP.BINARY_FILE_TYPE</code>. Because there are at least 4 
different EBCDIC encodings, we have opted not to provide direct support for 
EBCDIC. To
  * transfer EBCDIC and other unsupported file types you must create your own 
filter InputStreams and OutputStreams and wrap them around the streams returned 
or
  * required by the FTPClient methods. FTPClient uses the {@link 
ToNetASCIIOutputStream NetASCII} filter streams to provide transparent handling 
of ASCII files.
  * We will consider incorporating EBCDIC support if there is enough demand.
+ * </p>
  * <p>
- * <code> FTP.NON_PRINT_TEXT_FORMAT </code>, <code> FTP.STREAM_TRANSFER_MODE 
</code>, and <code> FTP.FILE_STRUCTURE </code> are the only supported formats,
+ * <code>FTP.NON_PRINT_TEXT_FORMAT</code>, 
<code>FTP.STREAM_TRANSFER_MODE</code>, and <code>FTP.FILE_STRUCTURE</code> are 
the only supported formats,
  * transfer modes, and file structures.
+ * </p>
  * <p>
  * Because the handling of sockets on different platforms can differ 
significantly, the FTPClient automatically issues a new PORT (or EPRT) command 
prior to
  * every transfer requiring that the server connect to the client's data port. 
This ensures identical problem-free behavior on Windows, Unix, and Macintosh
  * platforms. Additionally, it relieves programmers from having to issue the 
PORT (or EPRT) command themselves and dealing with platform dependent issues.
+ * </p>
  * <p>
  * Additionally, for security purposes, all data connections to the client are 
verified to ensure that they originated from the intended party (host and port).
  * If a data connection is initiated by an unexpected party, the command will 
close the socket and throw an IOException. You may disable this behavior with
  * {@link #setRemoteVerificationEnabled setRemoteVerificationEnabled()}.
+ * </p>
  * <p>
  * You should keep in mind that the FTP server may choose to prematurely close 
a connection if the client has been idle for longer than a given time period
  * (usually 900 seconds). The FTPClient class will detect a premature FTP 
server connection closing when it receives a
  * {@link org.apache.commons.net.ftp.FTPReply#SERVICE_NOT_AVAILABLE 
FTPReply.SERVICE_NOT_AVAILABLE } response to a command. When that occurs, the 
FTP class
  * method encountering that reply will throw an {@link 
org.apache.commons.net.ftp.FTPConnectionClosedException} . 
<code>FTPConnectionClosedException</code> is a
- * subclass of <code> IOException </code> 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 <code> IOException </code> catch block. When you 
encounter an {@link org.apache.commons.net.ftp.FTPConnectionClosedException} , 
you
+ * subclass of <code>IOException</code> 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 <code>IOException</code> catch block. When you 
encounter an {@link org.apache.commons.net.ftp.FTPConnectionClosedException} , 
you
  * must disconnect the connection with {@link #disconnect disconnect() } to 
properly clean up the system resources used by FTPClient. Before disconnecting, 
you
  * may check the last reply code and text with {@link 
org.apache.commons.net.ftp.FTP#getReplyCode getReplyCode },
  * {@link org.apache.commons.net.ftp.FTP#getReplyString getReplyString }, and 
{@link org.apache.commons.net.ftp.FTP#getReplyStrings getReplyStrings}. You may
  * avoid server disconnections while the client is idle by periodically 
sending NOOP commands to the server.
+ * </p>
  * <p>
  * 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
  * {@link org.apache.commons.net.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.
+ * </p>
  * <p>
  * Listing API Examples Both paged and unpaged examples of directory listings 
are available, as follows:
+ * </p>
  * <p>
  * Unpaged (whole list) access, using a parser accessible by auto-detect:
+ * </p>
  *
  * <pre>
  * FTPClient f = new FTPClient();
@@ -161,6 +170,7 @@ import org.apache.commons.net.util.NetConstants;
  * <p>
  * Paged access, using a parser not accessible by auto-detect. The class 
defined in the first parameter of initateListParsing should be derived from
  * org.apache.commons.net.FTPFileEntryParser:
+ * </p>
  *
  * <pre>
  * FTPClient f = new FTPClient();
@@ -176,6 +186,7 @@ import org.apache.commons.net.util.NetConstants;
  * </pre>
  * <p>
  * Paged access, using a parser accessible by auto-detect:
+ * </p>
  *
  * <pre>
  * FTPClient f = new FTPClient();
@@ -191,6 +202,7 @@ import org.apache.commons.net.util.NetConstants;
  * </pre>
  * <p>
  * For examples of using FTPClient on servers whose directory listings
+ * </p>
  * <ul>
  * <li>use languages other than English</li>
  * <li>use date formats other than the American English "standard" <code>MM d 
yyyy</code></li>
@@ -199,22 +211,28 @@ import org.apache.commons.net.util.NetConstants;
  * see {@link FTPClientConfig FTPClientConfig}.
  * <p>
  * <b>Control channel keep-alive feature</b>:
+ * </p>
  * <p>
  * <b>Please note:</b> this does not apply to the methods where the user is 
responsible for writing or reading the data stream, i.e.
  * {@link #retrieveFileStream(String)} , {@link #storeFileStream(String)} and 
the other xxxFileStream methods
+ * </p>
  * <p>
  * During file transfers, the data connection is busy, but the control 
connection is idle. FTP servers know that the control connection is in use, so 
won't
  * close it through lack of activity, but it's a lot harder for network 
routers to know that the control and data connections are associated with each 
other.
  * Some routers may treat the control connection as idle, and disconnect it if 
the transfer over the data connection takes longer than the allowable idle time
- * for the router. <br>
+ * for the router.
+ * <p>
  * One solution to this is to send a safe command (i.e. NOOP) over the control 
connection to reset the router's idle timer. This is enabled as follows:
+ * </p>
  *
  * <pre>
  * // Set timeout to 5 minutes
  * ftpClient.setControlKeepAliveTimeout(Duration.ofMinutes(5));
  * </pre>
  *
+ * <p>
  * This will cause the file upload/download methods to send a NOOP 
approximately every 5 minutes. The following public methods support this:
+ * </p>
  * <ul>
  * <li>{@link #retrieveFile(String, OutputStream)}</li>
  * <li>{@link #appendFile(String, InputStream)}</li>
@@ -222,15 +240,19 @@ import org.apache.commons.net.util.NetConstants;
  * <li>{@link #storeUniqueFile(InputStream)}</li>
  * <li>{@link #storeUniqueFileStream(String)}</li>
  * </ul>
+ * <p>
  * This feature does not apply to the methods where the user is responsible 
for writing or reading the data stream, i.e. {@link 
#retrieveFileStream(String)} ,
  * {@link #storeFileStream(String)} and the other xxxFileStream methods. In 
such cases, the user is responsible for keeping the control connection alive if
  * necessary.
+ * </p>
  * <p>
  * The implementation currently uses a {@link CopyStreamListener} which is 
passed to the
  * {@link Util#copyStream(InputStream, OutputStream, int, long, 
CopyStreamListener, boolean)} method, so the timing is partially dependent on 
how long each
  * block transfer takes.
+ * </p>
  * <p>
  * <b>This keep-alive feature is optional; if it does not help or causes 
problems then don't use it.</b>
+ * </p>
  *
  * @see #FTP_SYSTEM_TYPE
  * @see #SYSTEM_TYPE_PROPERTIES
@@ -448,8 +470,10 @@ public class FTPClient extends FTP implements Configurable 
{
      * According to <a href="http://www.ietf.org/rfc/rfc959.txt";>RFC959</a>, 
it should be the same as for MKD i.e.
      * {@code 257<space>"<directory-name>"[<space>commentary]} where any 
double-quotes in {@code <directory-name>} are doubled. Unlike MKD, the 
commentary is
      * optional.
+     * </p>
      * <p>
      * However, see NET-442 for an exception.
+     * </p>
      *
      * @param reply
      * @return the pathname, without enclosing quotes, or the full string 
after the reply code and space if the syntax is invalid (i.e. enclosing quotes 
are
@@ -565,11 +589,12 @@ public class FTPClient extends FTP implements 
Configurable {
     private boolean ipAddressFromPasvResponse = 
Boolean.getBoolean(FTPClient.FTP_IP_ADDRESS_FROM_PASV_RESPONSE);
 
     /**
-     * Default FTPClient constructor. Creates a new FTPClient instance with 
the data connection mode set to <code> ACTIVE_LOCAL_DATA_CONNECTION_MODE 
</code>,
-     * the file type set to <code> FTP.ASCII_FILE_TYPE </code>, the file 
format set to <code> FTP.NON_PRINT_TEXT_FORMAT </code>, the file structure set 
to
-     * <code> FTP.FILE_STRUCTURE </code>, and the transfer mode set to <code> 
FTP.STREAM_TRANSFER_MODE </code>.
+     * Default FTPClient constructor. Creates a new FTPClient instance with 
the data connection mode set to <code>ACTIVE_LOCAL_DATA_CONNECTION_MODE</code>,
+     * the file type set to <code>FTP.ASCII_FILE_TYPE</code>, the file format 
set to <code>FTP.NON_PRINT_TEXT_FORMAT</code>, the file structure set to
+     * <code>FTP.FILE_STRUCTURE</code>, and the transfer mode set to 
<code>FTP.STREAM_TRANSFER_MODE</code>.
      * <p>
      * The list parsing auto-detect feature can be configured to use lenient 
future dates (short dates may be up to one day in the future) as follows:
+     * </p>
      *
      * <pre>
      * FTPClient ftp = new FTPClient();
@@ -1114,6 +1139,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * <p>
      * <b>To finalize the file transfer you must call {@link 
#completePendingCommand completePendingCommand } and check its return value to 
verify success.</b>
      * If this is not done, subsequent commands may behave unexpectedly.
+     * </p>
      *
      * @param remote The name of the remote file.
      * @return An OutputStream through which the remote file can be appended. 
If the data connection cannot be opened (e.g., the file does not exist), null is
@@ -1160,6 +1186,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * receive the completion reply from the server and verify the success of 
the entire transaction.
      * <p>
      * For example,
+     * </p>
      *
      * <pre>
      * InputStream input;
@@ -1296,6 +1323,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * Issue a command and wait for the reply, returning it as an array of 
strings.
      * <p>
      * Should only be used with commands that return replies on the command 
channel - do not use for LIST, NLST, MLSD etc.
+     * </p>
      *
      * @param command The command to invoke
      * @param params  The parameters string, may be {@code null}
@@ -1325,12 +1353,13 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the current data connection mode to <code> 
PASSIVE_LOCAL_DATA_CONNECTION_MODE </code>. Use this method only for data 
transfers between the client
+     * Sets the current data connection mode to 
<code>PASSIVE_LOCAL_DATA_CONNECTION_MODE</code>. Use this method only for data 
transfers between the client
      * and server. This method causes a PASV (or EPSV) command to be issued to 
the server before the opening of every data connection, telling the server to
-     * open a data port to which the client will connect to conduct data 
transfers. The FTPClient will stay in <code> PASSIVE_LOCAL_DATA_CONNECTION_MODE 
</code>
+     * open a data port to which the client will connect to conduct data 
transfers. The FTPClient will stay in 
<code>PASSIVE_LOCAL_DATA_CONNECTION_MODE</code>
      * until the mode is changed by calling some other method such as {@link 
#enterLocalActiveMode enterLocalActiveMode() }
      * <p>
      * <b>N.B.</b> currently calling any connect method will reset the mode to 
ACTIVE_LOCAL_DATA_CONNECTION_MODE.
+     * </p>
      */
     public void enterLocalPassiveMode() {
         dataConnectionMode = PASSIVE_LOCAL_DATA_CONNECTION_MODE;
@@ -1341,7 +1370,7 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the current data connection mode to <code> 
ACTIVE_REMOTE_DATA_CONNECTION </code>. Use this method only for server to 
server data transfers. This
+     * Sets the current data connection mode to 
<code>ACTIVE_REMOTE_DATA_CONNECTION</code>. Use this method only for server to 
server data transfers. This
      * method issues a PORT command to the server, indicating the other server 
and port to which it should connect for data transfers. You must call this 
method
      * before EVERY server to server transfer attempt. The FTPClient will NOT 
automatically continue to issue PORT commands. You also must remember to call
      * {@link #enterLocalActiveMode enterLocalActiveMode() } if you wish to 
return to the normal data connection mode.
@@ -1365,7 +1394,7 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the current data connection mode to <code> 
PASSIVE_REMOTE_DATA_CONNECTION_MODE </code>. Use this method only for server to 
server data transfers.
+     * Sets the current data connection mode to 
<code>PASSIVE_REMOTE_DATA_CONNECTION_MODE</code>. Use this method only for 
server to server data transfers.
      * This method issues a PASV command to the server, telling it to open a 
data port to which the active server will connect to conduct data transfers. You
      * must call this method before EVERY server to server transfer attempt. 
The FTPClient will NOT automatically continue to issue PASV commands. You also 
must
      * remember to call {@link #enterLocalActiveMode enterLocalActiveMode() } 
if you wish to return to the normal data connection mode.
@@ -1562,8 +1591,10 @@ public class FTPClient extends FTP implements 
Configurable {
      * Gets the CSL debug array.
      * <p>
      * <b>For debug use only</b>
+     * </p>
      * <p>
      * Currently, it contains:
+     * </p>
      * <ul>
      * <li>successfully acked NOOPs at end of transfer</li>
      * <li>unanswered NOOPs at end of transfer</li>
@@ -1580,9 +1611,9 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Returns the current data connection mode (one of the <code> 
_DATA_CONNECTION_MODE </code> constants).
+     * Returns the current data connection mode (one of the 
<code>_DATA_CONNECTION_MODE</code> constants).
      *
-     * @return The current data connection mode (one of the <code> 
_DATA_CONNECTION_MODE </code> constants).
+     * @return The current data connection mode (one of the 
<code>_DATA_CONNECTION_MODE</code> constants).
      */
     public int getDataConnectionMode() {
         return dataConnectionMode;
@@ -1813,6 +1844,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * and return the cached value until a call to disconnect.
      * <p>
      * If the SYST command fails, and the system property {@link 
#FTP_SYSTEM_TYPE_DEFAULT} is defined, then this is used instead.
+     * </p>
      *
      * @return The system type obtained from the server. Never null.
      * @throws FTPConnectionClosedException If the FTP server prematurely 
closes the connection as a result of the client being idle or some other reason
@@ -1956,13 +1988,14 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default autodetect mechanism, initialize an 
FTPListParseEngine object containing a raw file information for the current 
working directory on
      * the server This information is obtained through the LIST command. This 
object is then capable of being iterated to return a sequence of FTPFile objects
-     * with information filled in by the <code> FTPFileEntryParser </code> 
used.
+     * with information filled in by the <code>FTPFileEntryParser</code> used.
      * <p>
      * This method differs from using the listFiles() methods in that 
expensive FTPFile objects are not created until needed which may be an 
advantage on large
      * lists.
+     * </p>
      *
      * @return A FTPListParseEngine object that holds the raw information and 
is capable of providing parsed FTPFile objects, one for each file containing
-     *         information contained in the given path in the format 
determined by the <code> parser </code> parameter. Null will be returned if a 
data
+     *         information contained in the given path in the format 
determined by the <code>parser</code> parameter. Null will be returned if a data
      *         connection cannot be opened. If the current working directory 
contains no files, an empty array will be the return.
      *
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
@@ -2008,13 +2041,15 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default autodetect mechanism, initialize an 
FTPListParseEngine object containing a raw file information for the supplied 
directory. This
      * information is obtained through the LIST command. This object is then 
capable of being iterated to return a sequence of FTPFile objects with 
information
-     * filled in by the <code> FTPFileEntryParser </code> used.
+     * filled in by the <code>FTPFileEntryParser</code> used.
      * <p>
      * The server may or may not expand glob expressions. You should avoid 
using glob expressions because the return format for glob listings differs from
      * server to server and will likely cause this method to fail.
+     * </p>
      * <p>
      * This method differs from using the listFiles() methods in that 
expensive FTPFile objects are not created until needed which may be an 
advantage on large
      * lists.
+     * </p>
      *
      * <pre>
      * FTPClient f = FTPClient();
@@ -2032,7 +2067,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * @param pathname the starting directory
      *
      * @return A FTPListParseEngine object that holds the raw information and 
is capable of providing parsed FTPFile objects, one for each file containing
-     *         information contained in the given path in the format 
determined by the <code> parser </code> parameter. Null will be returned if a 
data
+     *         information contained in the given path in the format 
determined by the <code>parser</code> parameter. Null will be returned if a data
      *         connection cannot be opened. If the current working directory 
contains no files, an empty array will be the return.
      *
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
@@ -2051,22 +2086,24 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the supplied parser key, initialize an FTPListParseEngine object 
containing a raw file information for the supplied directory. This information 
is
      * obtained through the LIST command. This object is then capable of being 
iterated to return a sequence of FTPFile objects with information filled in by
-     * the <code> FTPFileEntryParser </code> used.
+     * the <code>FTPFileEntryParser</code> used.
      * <p>
      * The server may or may not expand glob expressions. You should avoid 
using glob expressions because the return format for glob listings differs from
      * server to server and will likely cause this method to fail.
+     * </p>
      * <p>
      * This method differs from using the listFiles() methods in that 
expensive FTPFile objects are not created until needed which may be an 
advantage on large
      * lists.
+     * </p>
      *
-     * @param parserKey A string representing a designated code or 
fully-qualified class name of an <code> FTPFileEntryParser </code> that should 
be used to
+     * @param parserKey A string representing a designated code or 
fully-qualified class name of an <code>FTPFileEntryParser</code> that should be 
used to
      *                  parse each server file listing. May be {@code null}, 
in which case the code checks first the system property {@link 
#FTP_SYSTEM_TYPE},
      *                  and if that is not defined the SYST command is used to 
provide the value. To allow for arbitrary system types, the return from the SYST
      *                  command is used to look up an alias for the type in 
the {@link #SYSTEM_TYPE_PROPERTIES} properties file if it is available.
      * @param pathname  the starting directory
      *
      * @return A FTPListParseEngine object that holds the raw information and 
is capable of providing parsed FTPFile objects, one for each file containing
-     *         information contained in the given path in the format 
determined by the <code> parser </code> parameter. Null will be returned if a 
data
+     *         information contained in the given path in the format 
determined by the <code>parser</code> parameter. Null will be returned if a data
      *         connection cannot be opened. If the current working directory 
contains no files, an empty array will be the return.
      *
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
@@ -2158,14 +2195,15 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default system autodetect mechanism, obtain a list of 
directories contained in the current working directory.
      * <p>
-     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code> FTPFileEntryParser </code> used.
+     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code>FTPFileEntryParser</code> used.
+     * </p>
      * <p>
      * N.B. the LIST command does not generally return very precise 
timestamps. For recent files, the response usually contains hours and minutes 
(not seconds).
      * For older files, the output may only contain a date. If the server 
supports it, the MLSD command returns timestamps with a precision of seconds, 
and may
      * include milliseconds. See {@link #mlistDir()}
+     * </p>
      *
      * @return The list of directories contained in the current directory in 
the format determined by the autodetection mechanism.
-     *
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
      *                                                                         
being idle or some other reason causing the server to send FTP reply code 421.
      *                                                                         
This exception may be caught either as an IOException or independently as 
itself.
@@ -2189,16 +2227,16 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default system autodetect mechanism, obtain a list of 
directories contained in the specified directory.
      * <p>
-     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code> FTPFileEntryParser </code> used.
+     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code>FTPFileEntryParser</code> used.
+     * </p>
      * <p>
      * N.B. the LIST command does not generally return very precise 
timestamps. For recent files, the response usually contains hours and minutes 
(not seconds).
      * For older files, the output may only contain a date. If the server 
supports it, the MLSD command returns timestamps with a precision of seconds, 
and may
      * include milliseconds. See {@link #mlistDir()}
+     * </p>
      *
      * @param parent the starting directory
-     *
      * @return The list of directories contained in the specified directory in 
the format determined by the autodetection mechanism.
-     *
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
      *                                                                         
being idle or some other reason causing the server to send FTP reply code 421.
      *                                                                         
This exception may be caught either as an IOException or independently as 
itself.
@@ -2222,15 +2260,16 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default system autodetect mechanism, obtain a list of file 
information for the current working directory.
      * <p>
-     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code> FTPFileEntryParser </code> used.
+     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code>FTPFileEntryParser</code> used.
+     * </p>
      * <p>
      * N.B. the LIST command does not generally return very precise 
timestamps. For recent files, the response usually contains hours and minutes 
(not seconds).
      * For older files, the output may only contain a date. If the server 
supports it, the MLSD command returns timestamps with a precision of seconds, 
and may
      * include milliseconds. See {@link #mlistDir()}
+     * </p>
      *
      * @return The list of file information contained in the current directory 
in the format determined by the autodetection mechanism.
-     *         <p>
-     *         <b> NOTE:</b> This array may contain null members if any of the 
individual file listings failed to parse. The caller should check each entry for
+     *         <b>NOTE:</b> This array may contain null members if any of the 
individual file listings failed to parse. The caller should check each entry for
      *         null before referencing it.
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
      *                                                                         
being idle or some other reason causing the server to send FTP reply code 421.
@@ -2254,17 +2293,18 @@ public class FTPClient extends FTP implements 
Configurable {
     /**
      * Using the default system autodetect mechanism, obtain a list of file 
information for the current working directory or for just a single file.
      * <p>
-     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code> FTPFileEntryParser </code> used.
+     * This information is obtained through the LIST command. The contents of 
the returned array is determined by the<code>FTPFileEntryParser</code> used.
+     * </p>
      * <p>
      * N.B. the LIST command does not generally return very precise 
timestamps. For recent files, the response usually contains hours and minutes 
(not seconds).
      * For older files, the output may only contain a date. If the server 
supports it, the MLSD command returns timestamps with a precision of seconds, 
and may
      * include milliseconds. See {@link #mlistDir()}
+     * </p>
      *
      * @param pathname The file or directory to list. Since the server may or 
may not expand glob expressions, using them here is not recommended and may well
      *                 cause this method to fail. Also, some servers treat a 
leading '-' as being an option. To avoid this interpretation, use an absolute
      *                 pathname or prefix the pathname with ./ (unix style 
servers). Some servers may support "--" as meaning end of options, in which 
case "--
      *                 -xyz" should work.
-     *
      * @return The list of file information contained in the given path in the 
format determined by the autodetection mechanism
      * @throws FTPConnectionClosedException                                    
If the FTP server prematurely closes the connection as a result of the client
      *                                                                         
being idle or some other reason causing the server to send FTP reply code 421.
@@ -2661,7 +2701,7 @@ public class FTPClient extends FTP implements 
Configurable {
     // For server to server transfers
     /**
      * Initiate a server to server file transfer. This method tells the server 
to which the client is connected to append to a given file on the other server.
-     * The other server must have had a <code> remoteRetrieve </code> issued 
to it by another FTPClient.
+     * The other server must have had a <code>remoteRetrieve</code> issued to 
it by another FTPClient.
      *
      * @param fileName The name of the file to be appended to, or if the file 
does not exist, the name to call the file being stored.
      *
@@ -2697,7 +2737,7 @@ public class FTPClient extends FTP implements 
Configurable {
 
     /**
      * Initiate a server to server file transfer. This method tells the server 
to which the client is connected to store a file on the other server using the
-     * given file name. The other server must have had a <code> remoteRetrieve 
</code> issued to it by another FTPClient.
+     * given file name. The other server must have had a 
<code>remoteRetrieve</code> issued to it by another FTPClient.
      *
      * @param fileName The name to call the file that is to be stored.
      * @return True if successfully completed, false if not.
@@ -2715,8 +2755,8 @@ public class FTPClient extends FTP implements 
Configurable {
 
     /**
      * Initiate a server to server file transfer. This method tells the server 
to which the client is connected to store a file on the other server using a
-     * unique file name. The other server must have had a <code> 
remoteRetrieve </code> issued to it by another FTPClient. Many FTP servers 
require that a base
-     * file name be given from which the unique file name can be derived. For 
those servers use the other version of <code> remoteStoreUnique</code>
+     * unique file name. The other server must have had a 
<code>remoteRetrieve</code> issued to it by another FTPClient. Many FTP servers 
require that a base
+     * file name be given from which the unique file name can be derived. For 
those servers use the other version of <code>remoteStoreUnique</code>
      *
      * @return True if successfully completed, false if not.
      * @throws FTPConnectionClosedException If the FTP server prematurely 
closes the connection as a result of the client being idle or some other reason
@@ -2733,7 +2773,7 @@ public class FTPClient extends FTP implements 
Configurable {
 
     /**
      * Initiate a server to server file transfer. This method tells the server 
to which the client is connected to store a file on the other server using a
-     * unique file name based on the given file name. The other server must 
have had a <code> remoteRetrieve </code> issued to it by another FTPClient.
+     * unique file name based on the given file name. The other server must 
have had a <code>remoteRetrieve</code> issued to it by another FTPClient.
      *
      * @param fileName The name on which to base the file name of the file 
that is to be stored.
      * @return True if successfully completed, false if not.
@@ -2898,6 +2938,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * Enables or disables automatic server encoding detection (only UTF-8 
supported).
      * <p>
      * Does not affect existing connections; must be invoked before a 
connection is established.
+     * </p>
      *
      * @param autodetect If true, automatic server encoding detection will be 
enabled.
      */
@@ -2983,6 +3024,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * value is &ge; 0.
      * <p>
      * <b>Note:</b> the timeout will also be applied when calling accept() 
whilst establishing an active local data connection.
+     * </p>
      *
      * @param timeout The default timeout that is used when opening a data 
connection socket. The value 0 (or null) means an infinite timeout.
      * @since 3.9.0
@@ -3007,7 +3049,7 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the file structure. The default structure is <code> 
FTP.FILE_STRUCTURE </code> if this method is never called or if a connect 
method is called.
+     * Sets the file structure. The default structure is 
<code>FTP.FILE_STRUCTURE</code> if this method is never called or if a connect 
method is called.
      *
      * @param structure The structure of the file (one of the FTP class 
<code>_STRUCTURE</code> constants).
      * @return True if successfully completed, false if not.
@@ -3025,7 +3067,7 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the transfer mode. The default transfer mode <code> 
FTP.STREAM_TRANSFER_MODE </code> if this method is never called or if a connect 
method is
+     * Sets the transfer mode. The default transfer mode 
<code>FTP.STREAM_TRANSFER_MODE</code> if this method is never called or if a 
connect method is
      * called.
      *
      * @param mode The new transfer mode to use (one of the FTP class 
<code>_TRANSFER_MODE</code> constants).
@@ -3044,15 +3086,15 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the file type to be transferred. This should be one of <code> 
FTP.ASCII_FILE_TYPE </code>, <code> FTP.BINARY_FILE_TYPE</code>, etc. The file 
type
+     * Sets the file type to be transferred. This should be one of 
<code>FTP.ASCII_FILE_TYPE</code>, <code>FTP.BINARY_FILE_TYPE</code>, etc. The 
file type
      * only needs to be set when you want to change the type. After changing 
it, the new type stays in effect until you change it again. The default file 
type
-     * is <code> FTP.ASCII_FILE_TYPE </code> if this method is never called. 
<br>
+     * is <code>FTP.ASCII_FILE_TYPE</code> if this method is never called. <br>
      * The server default is supposed to be ASCII (see RFC 959), however many 
ftp servers default to BINARY. <b>To ensure correct operation with all servers,
      * always specify the appropriate file type after connecting to the 
server.</b> <br>
      * <p>
      * <b>N.B.</b> currently calling any connect method will reset the type to 
FTP.ASCII_FILE_TYPE.
      *
-     * @param fileType The <code> _FILE_TYPE </code> constant indicating the 
type of file.
+     * @param fileType The <code>_FILE_TYPE</code> constant indicating the 
type of file.
      * @return True if successfully completed, false if not.
      * @throws FTPConnectionClosedException If the FTP server prematurely 
closes the connection as a result of the client being idle or some other reason
      *                                      causing the server to send FTP 
reply code 421. This exception may be caught either as an IOException or
@@ -3069,19 +3111,19 @@ public class FTPClient extends FTP implements 
Configurable {
     }
 
     /**
-     * Sets the file type to be transferred and the format. The type should be 
one of <code> FTP.ASCII_FILE_TYPE </code>, <code> FTP.BINARY_FILE_TYPE </code>,
+     * Sets the file type to be transferred and the format. The type should be 
one of <code>FTP.ASCII_FILE_TYPE</code>, <code>FTP.BINARY_FILE_TYPE</code>,
      * etc. The file type only needs to be set when you want to change the 
type. After changing it, the new type stays in effect until you change it 
again. The
-     * default file type is <code> FTP.ASCII_FILE_TYPE </code> if this method 
is never called. <br>
+     * default file type is <code>FTP.ASCII_FILE_TYPE</code> if this method is 
never called. <br>
      * The server default is supposed to be ASCII (see RFC 959), however many 
ftp servers default to BINARY. <b>To ensure correct operation with all servers,
      * always specify the appropriate file type after connecting to the 
server.</b> <br>
-     * The format should be one of the FTP class <code> TEXT_FORMAT </code> 
constants, or if the type is <code> FTP.LOCAL_FILE_TYPE </code>, the format 
should
-     * be the byte size for that type. The default format is <code> 
FTP.NON_PRINT_TEXT_FORMAT </code> if this method is never called.
+     * The format should be one of the FTP class <code>TEXT_FORMAT</code> 
constants, or if the type is <code>FTP.LOCAL_FILE_TYPE</code>, the format should
+     * be the byte size for that type. The default format is 
<code>FTP.NON_PRINT_TEXT_FORMAT</code> if this method is never called.
      * <p>
      * <b>N.B.</b> currently calling any connect method will reset the type to 
FTP.ASCII_FILE_TYPE and the formatOrByteSize to FTP.NON_PRINT_TEXT_FORMAT.
+     * </p>
      *
-     * @param fileType         The <code> _FILE_TYPE </code> constant 
indicating the type of file.
+     * @param fileType         The <code>_FILE_TYPE</code> constant indicating 
the type of file.
      * @param formatOrByteSize The format of the file (one of the 
<code>_FORMAT</code> constants). In the case of <code>LOCAL_FILE_TYPE</code>, 
the byte size.
-     *
      * @return True if successfully completed, false if not.
      * @throws FTPConnectionClosedException If the FTP server prematurely 
closes the connection as a result of the client being idle or some other reason
      *                                      causing the server to send FTP 
reply code 421. This exception may be caught either as an IOException or
@@ -3240,6 +3282,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * </p>
      * <p>
      * <b>Note: This method should only be invoked immediately prior to the 
transfer to which it applies.</b>
+     * </p>
      *
      * @param offset The offset into the remote file at which to start the 
next file transfer. This must be a value greater than or equal to zero.
      */
@@ -3310,6 +3353,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * <p>
      * <b>To finalize the file transfer you must call {@link 
#completePendingCommand completePendingCommand } and check its return value to 
verify success.</b>
      * If this is not done, subsequent commands may behave unexpectedly.
+     * </p>
      *
      * @param remote The name to give the remote file.
      * @return An OutputStream through which the remote file can be written. 
If the data connection cannot be opened (e.g., the file does not exist), null is
@@ -3372,6 +3416,7 @@ public class FTPClient extends FTP implements 
Configurable {
      * <p>
      * <b>To finalize the file transfer you must call {@link 
#completePendingCommand completePendingCommand } and check its return value to 
verify success.</b>
      * If this is not done, subsequent commands may behave unexpectedly.
+     * </p>
      *
      * @return An OutputStream through which the remote file can be written. 
If the data connection cannot be opened (e.g., the file does not exist), null is
      *         returned (in which case you may check the reply code to 
determine the exact reason for failure).


Reply via email to