    001/*
    002 * Licensed to the Apache Software Foundation (ASF) under one or more
    003 * contributor license agreements.  See the NOTICE file distributed with
    004 * this work for additional information regarding copyright ownership.
    005 * The ASF licenses this file to You under the Apache License, Version 2.0
    006 * (the "License"); you may not use this file except in compliance with
    007 * the License.  You may obtain a copy of the License at
    008 *
    009 *   http://www.apache.org/licenses/LICENSE-2.0
    010 *
    011 * Unless required by applicable law or agreed to in writing, software
    012 * distributed under the License is distributed on an "AS IS" BASIS,
    013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014 * See the License for the specific language governing permissions and
    015 * limitations under the License.
    016 */
    017
    018package org.apache.commons.net.ftp;
    019
    020/**
    021 * @since 3.3
    022 */
    023public enum FTPCmd {
    024
    025    /** FTP command. */
    026    ABOR,
    027
    028    /** FTP command. */
    029    ACCT,
    030
    031    /** FTP command. */
    032    ALLO,
    033
    034    /** FTP command. */
    035    APPE,
    036
    037    /** FTP command. */
    038    CDUP,
    039
    040    /** FTP command. */
    041    CWD,
    042
    043    /** FTP command. */
    044    DELE,
    045
    046    /** FTP command. */
    047    EPRT,
    048
    049    /** FTP command. */
    050    EPSV,
    051
    052    /** FTP command. */
    053    FEAT,
    054
    055    /** FTP command. */
    056    HELP,
    057
    058    /** FTP command. */
    059    LIST,
    060
    061    /** FTP command. */
    062    MDTM,
    063
    064    /** FTP command. */
    065    MFMT,
    066
    067    /** FTP command. */
    068    MKD,
    069
    070    /** FTP command. */
    071    MLSD,
    072
    073    /** FTP command. */
    074    MLST,
    075
    076    /** FTP command. */
    077    MODE,
    078
    079    /** FTP command. */
    080    NLST,
    081
    082    /** FTP command. */
    083    NOOP,
    084
    085    /** FTP command. */
    086    PASS,
    087
    088    /** FTP command. */
    089    PASV,
    090
    091    /** FTP command. */
    092    PORT,
    093
    094    /** FTP command. */
    095    PWD,
    096
    097    /** FTP command. */
    098    QUIT,
    099
    100    /** FTP command. */
    101    REIN,
    102
    103    /** FTP command. */
    104    REST,
    105
    106    /** FTP command. */
    107    RETR,
    108
    109    /** FTP command. */
    110    RMD,
    111
    112    /** FTP command. */
    113    RNFR,
    114
    115    /** FTP command. */
    116    RNTO,
    117
    118    /** FTP command. */
    119    SITE,
    120
    121    /** @since 3.7 */
    122    SIZE,
    123
    124    /** FTP command. */
    125    SMNT,
    126
    127    /** FTP command. */
    128    STAT,
    129
    130    /** FTP command. */
    131    STOR,
    132
    133    /** FTP command. */
    134    STOU,
    135
    136    /** FTP command. */
    137    STRU,
    138
    139    /** FTP command. */
    140    SYST,
    141
    142    /** FTP command. */
    143    TYPE,
    144
    145    /** FTP command. */
    146    USER;
    147
    148    // Aliases
    149
    150    /** Alias. */
    151    public static final FTPCmd ABORT = ABOR;
    152
    153    /** Alias. */
    154    public static final FTPCmd ACCOUNT = ACCT;
    155
    156    /** Alias. */
    157    public static final FTPCmd ALLOCATE = ALLO;
    158
    159    /** Alias. */
    160    public static final FTPCmd APPEND = APPE;
    161
    162    /** Alias. */
    163    public static final FTPCmd CHANGE_TO_PARENT_DIRECTORY = CDUP;
    164
    165    /** Alias. */
    166    public static final FTPCmd CHANGE_WORKING_DIRECTORY = CWD;
    167
    168    /** Alias. */
    169    public static final FTPCmd DATA_PORT = PORT;
    170
    171    /** Alias. */
    172    public static final FTPCmd DELETE = DELE;
    173
    174    /** Alias. */
    175    public static final FTPCmd FEATURES = FEAT;
    176
    177    /** Alias. */
    178    public static final FTPCmd FILE_STRUCTURE = STRU;
    179
    180    /** Alias. */
    181    public static final FTPCmd GET_MOD_TIME = MDTM;
    182
    183    /** Alias. */
    184    public static final FTPCmd LOGOUT = QUIT;
    185
    186    /** Alias. */
    187    public static final FTPCmd MAKE_DIRECTORY = MKD;
    188
    189    /** Alias. */
    190    public static final FTPCmd MOD_TIME = MDTM;
    191
    192    /** Alias. */
    193    public static final FTPCmd NAME_LIST = NLST;
    194
    195    /** Alias. */
    196    public static final FTPCmd PASSIVE = PASV;
    197
    198    /** Alias. */
    199    public static final FTPCmd PASSWORD = PASS;
    200
    201    /** Alias. */
    202    public static final FTPCmd PRINT_WORKING_DIRECTORY = PWD;
    203
    204    /** Alias. */
    205    public static final FTPCmd REINITIALIZE = REIN;
    206
    207    /** Alias. */
    208    public static final FTPCmd REMOVE_DIRECTORY = RMD;
    209
    210    /** Alias. */
    211    public static final FTPCmd RENAME_FROM = RNFR;
    212
    213    /** Alias. */
    214    public static final FTPCmd RENAME_TO = RNTO;
    215
    216    /** Alias. */
    217    public static final FTPCmd REPRESENTATION_TYPE = TYPE;
    218
    219    /** Alias. */
    220    public static final FTPCmd RESTART = REST;
    221
    222    /** Alias. */
    223    public static final FTPCmd RETRIEVE = RETR;
    224
    225    /** Alias. */
    226    public static final FTPCmd SET_MOD_TIME = MFMT;
    227
    228    /** Alias. */
    229    public static final FTPCmd SITE_PARAMETERS = SITE;
    230
    231    /** Alias. */
    232    public static final FTPCmd STATUS = STAT;
    233
    234    /** Alias. */
    235    public static final FTPCmd STORE = STOR;
    236
    237    /** Alias. */
    238    public static final FTPCmd STORE_UNIQUE = STOU;
    239
    240    /** Alias. */
    241    public static final FTPCmd STRUCTURE_MOUNT = SMNT;
    242
    243    /** Alias. */
    244    public static final FTPCmd SYSTEM = SYST;
    245
    246    /** Alias. */
    247    public static final FTPCmd TRANSFER_MODE = MODE;
    248
    249    /** Alias. */
    250    public static final FTPCmd USERNAME = USER;
    251
    252    /**
    253     * Retrieve the FTP protocol command string corresponding to a specified command code.
    254     *
    255     * @return The FTP protcol command string corresponding to a specified command code.
    256     */
    257    public final String getCommand() {
    258        return this.name();
    259    }
    260
    261}