1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.commons.net.pop3;
19
20 /**
21 * POP3Command stores POP3 command code constants.
22 */
23
24 public final class POP3Command {
25 /** Send user name. */
26 public static final int USER = 0;
27 /** Send password. */
28 public static final int PASS = 1;
29 /** Quit session. */
30 public static final int QUIT = 2;
31 /** Gets status. */
32 public static final int STAT = 3;
33 /** List message(s). */
34 public static final int LIST = 4;
35 /** Retrieve message(s). */
36 public static final int RETR = 5;
37 /** Delete message(s). */
38 public static final int DELE = 6;
39 /** No operation. Used as a session keepalive. */
40 public static final int NOOP = 7;
41 /** Reset session. */
42 public static final int RSET = 8;
43 /** Authorization. */
44 public static final int APOP = 9;
45 /** Retrieve top number lines from message. */
46 public static final int TOP = 10;
47 /** List unique message identifier(s). */
48 public static final int UIDL = 11;
49 /**
50 * The capabilities command.
51 *
52 * @since 3.0
53 */
54 public static final int CAPA = 12;
55 /**
56 * Authentication
57 *
58 * @since 3.0
59 */
60 public static final int AUTH = 13;
61
62 private static final int NEXT = AUTH + 1; // update as necessary when adding new entries
63
64 static final String[] commands = { "USER", "PASS", "QUIT", "STAT", "LIST", "RETR", "DELE", "NOOP", "RSET", "APOP", "TOP", "UIDL", "CAPA", "AUTH", };
65
66 static {
67 if (commands.length != NEXT) {
68 throw new IllegalStateException("Error in array definition");
69 }
70 }
71
72 /**
73 * Gets the POP3 protocol string command corresponding to a command code.
74 *
75 * @param command the command code
76 * @return The POP3 protocol string command corresponding to a command code.
77 */
78 public static String getCommand(final int command) {
79 return commands[command];
80 }
81
82 /** Cannot be instantiated. */
83 private POP3Command() {
84 }
85 }