org.apache.commons.net.ftp

## Class FTPReply

- java.lang.Object
- - org.apache.commons.net.ftp.FTPReply

-     public final class FTPReply
      extends Object

  FTPReply stores a set of constants for FTP reply codes. To interpret the meaning of the codes, familiarity with RFC 959 is assumed. The mnemonic constant names are transcriptions from the code descriptions of RFC 959.

  TODO replace with an enum

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ACTION_ABORTED` Reply code 451.
    `static int` | `BAD_COMMAND_SEQUENCE` Reply code 503.
    `static int` | `BAD_TLS_NEGOTIATION_OR_DATA_ENCRYPTION_REQUIRED` FTPS reply code 522
    `static int` | `CANNOT_OPEN_DATA_CONNECTION` Reply code 425.
    `static int` | `CLOSING_DATA_CONNECTION` Reply code 226.
    `static int` | `COMMAND_IS_SUPERFLUOUS` Reply code 202.
    `static int` | `COMMAND_NOT_IMPLEMENTED` Reply code 502.
    `static int` | `COMMAND_NOT_IMPLEMENTED_FOR_PARAMETER` Reply code 504.
    `static int` | `COMMAND_OK` Reply code 200.
    `static int` | `DATA_CONNECTION_ALREADY_OPEN` Reply code 125.
    `static int` | `DATA_CONNECTION_OPEN` Reply code 225.
    `static int` | `DENIED_FOR_POLICY_REASONS` FTPS reply code 533
    `static int` | `DIRECTORY_STATUS` Reply code 212.
    `static int` | `ENTERING_EPSV_MODE` Reply code 229.
    `static int` | `ENTERING_PASSIVE_MODE` Reply code 227.
    `static int` | `EXTENDED_PORT_FAILURE` IPv6 error codes.
    `static int` | `FAILED_SECURITY_CHECK` FTPS reply code 535
    `static int` | `FILE_ACTION_NOT_TAKEN` Reply code 450.
    `static int` | `FILE_ACTION_OK` Reply code 250.
    `static int` | `FILE_ACTION_PENDING` Reply code 350.
    `static int` | `FILE_NAME_NOT_ALLOWED` Reply code 553.
    `static int` | `FILE_STATUS` Reply code 213.
    `static int` | `FILE_STATUS_OK` Reply code 150.
    `static int` | `FILE_UNAVAILABLE` Reply code 550.
    `static int` | `HELP_MESSAGE` Reply code 214.
    `static int` | `INSUFFICIENT_STORAGE` Reply code 452.
    `static int` | `NAME_SYSTEM_TYPE` Reply code 215.
    `static int` | `NEED_ACCOUNT` Reply code 332.
    `static int` | `NEED_ACCOUNT_FOR_STORING_FILES` Reply code 532.
    `static int` | `NEED_PASSWORD` Reply code 331.
    `static int` | `NOT_LOGGED_IN` Reply code 530.
    `static int` | `PAGE_TYPE_UNKNOWN` Reply code 551.
    `static int` | `PATHNAME_CREATED` Reply code 257.
    `static int` | `REQUEST_DENIED` FTPS reply code 534
    `static int` | `REQUESTED_PROT_LEVEL_NOT_SUPPORTED` FTPS reply code 536
    `static int` | `RESTART_MARKER` Reply code 110.
    `static int` | `SECURITY_DATA_EXCHANGE_COMPLETE` FTPS reply code 234
    `static int` | `SECURITY_DATA_EXCHANGE_SUCCESSFULLY` FTPS reply code 235
    `static int` | `SECURITY_DATA_IS_ACCEPTABLE` FTPS reply code 335
    `static int` | `SECURITY_MECHANISM_IS_OK` FTPS reply code 334
    `static int` | `SERVICE_CLOSING_CONTROL_CONNECTION` Reply code 221.
    `static int` | `SERVICE_NOT_AVAILABLE` Reply code 421.
    `static int` | `SERVICE_NOT_READY` Reply code 120.
    `static int` | `SERVICE_READY` Reply code 220.
    `static int` | `STORAGE_ALLOCATION_EXCEEDED` Reply code 552.
    `static int` | `SYNTAX_ERROR_IN_ARGUMENTS` Reply code 501.
    `static int` | `SYSTEM_STATUS` Reply code 211.
    `static int` | `TRANSFER_ABORTED` Reply code 426.
    `static int` | `UNAVAILABLE_RESOURCE` FTPS reply code 431
    `static int` | `UNRECOGNIZED_COMMAND` Reply code 500.
    `static int` | `USER_LOGGED_IN` Reply code 230.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `isNegativePermanent(int reply)` Tests if a reply code is a negative permanent response.
    `static boolean` | `isNegativeTransient(int reply)` Tests if a reply code is a negative transient response.
    `static boolean` | `isPositiveCompletion(int reply)` Tests if a reply code is a positive completion response.
    `static boolean` | `isPositiveIntermediate(int reply)` Tests if a reply code is a positive intermediate response.
    `static boolean` | `isPositivePreliminary(int reply)` Tests if a reply code is a positive preliminary response.
    `static boolean` | `isProtectedReplyCode(int reply)` Tests if a reply code is a protected response.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ACTION_ABORTED

          public static final int ACTION_ABORTED

      Reply code 451.
      See Also:
        Constant Field Values

    - #### BAD_COMMAND_SEQUENCE

          public static final int BAD_COMMAND_SEQUENCE

      Reply code 503.
      See Also:
        Constant Field Values

    - #### BAD_TLS_NEGOTIATION_OR_DATA_ENCRYPTION_REQUIRED

          public static final int BAD_TLS_NEGOTIATION_OR_DATA_ENCRYPTION_REQUIRED

      FTPS reply code 522
      See Also:
        Constant Field Values

    - #### CANNOT_OPEN_DATA_CONNECTION

          public static final int CANNOT_OPEN_DATA_CONNECTION

      Reply code 425.
      See Also:
        Constant Field Values

    - #### CLOSING_DATA_CONNECTION

          public static final int CLOSING_DATA_CONNECTION

      Reply code 226.
      See Also:
        Constant Field Values

    - #### COMMAND_IS_SUPERFLUOUS

          public static final int COMMAND_IS_SUPERFLUOUS

      Reply code 202.
      See Also:
        Constant Field Values

    - #### COMMAND_NOT_IMPLEMENTED

          public static final int COMMAND_NOT_IMPLEMENTED

      Reply code 502.
      See Also:
        Constant Field Values

    - #### COMMAND_NOT_IMPLEMENTED_FOR_PARAMETER

          public static final int COMMAND_NOT_IMPLEMENTED_FOR_PARAMETER

      Reply code 504.
      See Also:
        Constant Field Values

    - #### COMMAND_OK

          public static final int COMMAND_OK

      Reply code 200.
      See Also:
        Constant Field Values

    - #### DATA_CONNECTION_ALREADY_OPEN

          public static final int DATA_CONNECTION_ALREADY_OPEN

      Reply code 125.
      See Also:
        Constant Field Values

    - #### DATA_CONNECTION_OPEN

          public static final int DATA_CONNECTION_OPEN

      Reply code 225.
      See Also:
        Constant Field Values

    - #### DENIED_FOR_POLICY_REASONS

          public static final int DENIED_FOR_POLICY_REASONS

      FTPS reply code 533
      See Also:
        Constant Field Values

    - #### DIRECTORY_STATUS

          public static final int DIRECTORY_STATUS

      Reply code 212.
      See Also:
        Constant Field Values

    - #### ENTERING_EPSV_MODE

          public static final int ENTERING_EPSV_MODE

      Reply code 229.
      See Also:
        Constant Field Values

    - #### ENTERING_PASSIVE_MODE

          public static final int ENTERING_PASSIVE_MODE

      Reply code 227.
      See Also:
        Constant Field Values

    - #### EXTENDED_PORT_FAILURE

          public static final int EXTENDED_PORT_FAILURE

      IPv6 error codes.

      Note this is also used as an FTPS error code reply

      See Also:
        Constant Field Values

    - #### FAILED_SECURITY_CHECK

          public static final int FAILED_SECURITY_CHECK

      FTPS reply code 535
      See Also:
        Constant Field Values

    - #### FILE_ACTION_NOT_TAKEN

          public static final int FILE_ACTION_NOT_TAKEN

      Reply code 450.
      See Also:
        Constant Field Values

    - #### FILE_ACTION_OK

          public static final int FILE_ACTION_OK

      Reply code 250.
      See Also:
        Constant Field Values

    - #### FILE_ACTION_PENDING

          public static final int FILE_ACTION_PENDING

      Reply code 350.
      See Also:
        Constant Field Values

    - #### FILE_NAME_NOT_ALLOWED

          public static final int FILE_NAME_NOT_ALLOWED

      Reply code 553.
      See Also:
        Constant Field Values

    - #### FILE_STATUS

          public static final int FILE_STATUS

      Reply code 213.
      See Also:
        Constant Field Values

    - #### FILE_STATUS_OK

          public static final int FILE_STATUS_OK

      Reply code 150.
      See Also:
        Constant Field Values

    - #### FILE_UNAVAILABLE

          public static final int FILE_UNAVAILABLE

      Reply code 550.
      See Also:
        Constant Field Values

    - #### HELP_MESSAGE

          public static final int HELP_MESSAGE

      Reply code 214.
      See Also:
        Constant Field Values

    - #### INSUFFICIENT_STORAGE

          public static final int INSUFFICIENT_STORAGE

      Reply code 452.
      See Also:
        Constant Field Values

    - #### NAME_SYSTEM_TYPE

          public static final int NAME_SYSTEM_TYPE

      Reply code 215.
      See Also:
        Constant Field Values

    - #### NEED_ACCOUNT

          public static final int NEED_ACCOUNT

      Reply code 332.
      See Also:
        Constant Field Values

    - #### NEED_ACCOUNT_FOR_STORING_FILES

          public static final int NEED_ACCOUNT_FOR_STORING_FILES

      Reply code 532.
      See Also:
        Constant Field Values

    - #### NEED_PASSWORD

          public static final int NEED_PASSWORD

      Reply code 331.
      See Also:
        Constant Field Values

    - #### NOT_LOGGED_IN

          public static final int NOT_LOGGED_IN

      Reply code 530.
      See Also:
        Constant Field Values

    - #### PAGE_TYPE_UNKNOWN

          public static final int PAGE_TYPE_UNKNOWN

      Reply code 551.
      See Also:
        Constant Field Values

    - #### PATHNAME_CREATED

          public static final int PATHNAME_CREATED

      Reply code 257.
      See Also:
        Constant Field Values

    - #### REQUEST_DENIED

          public static final int REQUEST_DENIED

      FTPS reply code 534
      See Also:
        Constant Field Values

    - #### REQUESTED_PROT_LEVEL_NOT_SUPPORTED

          public static final int REQUESTED_PROT_LEVEL_NOT_SUPPORTED

      FTPS reply code 536
      See Also:
        Constant Field Values

    - #### RESTART_MARKER

          public static final int RESTART_MARKER

      Reply code 110.
      See Also:
        Constant Field Values

    - #### SECURITY_DATA_EXCHANGE_COMPLETE

          public static final int SECURITY_DATA_EXCHANGE_COMPLETE

      FTPS reply code 234
      See Also:
        Constant Field Values

    - #### SECURITY_DATA_EXCHANGE_SUCCESSFULLY

          public static final int SECURITY_DATA_EXCHANGE_SUCCESSFULLY

      FTPS reply code 235
      See Also:
        Constant Field Values

    - #### SECURITY_DATA_IS_ACCEPTABLE

          public static final int SECURITY_DATA_IS_ACCEPTABLE

      FTPS reply code 335
      See Also:
        Constant Field Values

    - #### SECURITY_MECHANISM_IS_OK

          public static final int SECURITY_MECHANISM_IS_OK

      FTPS reply code 334
      See Also:
        Constant Field Values

    - #### SERVICE_CLOSING_CONTROL_CONNECTION

          public static final int SERVICE_CLOSING_CONTROL_CONNECTION

      Reply code 221.
      See Also:
        Constant Field Values

    - #### SERVICE_NOT_AVAILABLE

          public static final int SERVICE_NOT_AVAILABLE

      Reply code 421.
      See Also:
        Constant Field Values

    - #### SERVICE_NOT_READY

          public static final int SERVICE_NOT_READY

      Reply code 120.
      See Also:
        Constant Field Values

    - #### SERVICE_READY

          public static final int SERVICE_READY

      Reply code 220.
      See Also:
        Constant Field Values

    - #### STORAGE_ALLOCATION_EXCEEDED

          public static final int STORAGE_ALLOCATION_EXCEEDED

      Reply code 552.
      See Also:
        Constant Field Values

    - #### SYNTAX_ERROR_IN_ARGUMENTS

          public static final int SYNTAX_ERROR_IN_ARGUMENTS

      Reply code 501.
      See Also:
        Constant Field Values

    - #### SYSTEM_STATUS

          public static final int SYSTEM_STATUS

      Reply code 211.
      See Also:
        Constant Field Values

    - #### TRANSFER_ABORTED

          public static final int TRANSFER_ABORTED

      Reply code 426.
      See Also:
        Constant Field Values

    - #### UNAVAILABLE_RESOURCE

          public static final int UNAVAILABLE_RESOURCE

      FTPS reply code 431
      See Also:
        Constant Field Values

    - #### UNRECOGNIZED_COMMAND

          public static final int UNRECOGNIZED_COMMAND

      Reply code 500.
      See Also:
        Constant Field Values

    - #### USER_LOGGED_IN

          public static final int USER_LOGGED_IN

      Reply code 230.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### isNegativePermanent

          public static boolean isNegativePermanent(int reply)

      Tests if a reply code is a negative permanent response. All codes beginning with a 5 are negative permanent responses. The FTP server will send a negative permanent response on the failure of a command that cannot be reattempted with success.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a negative permanent response, false if not.

    - #### isNegativeTransient

          public static boolean isNegativeTransient(int reply)

      Tests if a reply code is a negative transient response. All codes beginning with a 4 are negative transient responses. The FTP server will send a negative transient response on the failure of a command that can be reattempted with success.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a negative transient response, false if not.

    - #### isPositiveCompletion

          public static boolean isPositiveCompletion(int reply)

      Tests if a reply code is a positive completion response. All codes beginning with a 2 are positive completion responses. The FTP server will send a positive completion response on the final successful completion of a command.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a positive completion response, false if not.

    - #### isPositiveIntermediate

          public static boolean isPositiveIntermediate(int reply)

      Tests if a reply code is a positive intermediate response. All codes beginning with a 3 are positive intermediate responses. The FTP server will send a positive intermediate response on the successful completion of one part of a multipart sequence of commands. For example, after a successful USER command, a positive intermediate response will be sent to indicate that the server is ready for the PASS command.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a positive intermediate response, false if not.

    - #### isPositivePreliminary

          public static boolean isPositivePreliminary(int reply)

      Tests if a reply code is a positive preliminary response. All codes beginning with a 1 are positive preliminary responses. Postitive preliminary responses are used to indicate tentative success. No further commands can be issued to the FTP server after a positive preliminary response until a follow-up response is received from the server.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a positive preliminary response, false if not.

    - #### isProtectedReplyCode

          public static boolean isProtectedReplyCode(int reply)

      Tests if a reply code is a protected response.
      Parameters:
        `reply` - The reply code to test.
      Returns:
        True if a reply code is a protected response, false if not.