1
2
3
4
5
6
7
8
9
10
11
12
13 package org.abstracthorizon.mercury.imap.cmd;
14
15 import java.io.IOException;
16
17 import javax.mail.MessagingException;
18
19 import org.abstracthorizon.mercury.common.command.CommandException;
20
21 import org.abstracthorizon.mercury.imap.IMAPSession;
22 import org.abstracthorizon.mercury.imap.response.NOResponse;
23 import org.abstracthorizon.mercury.imap.response.Response;
24 import org.abstracthorizon.mercury.imap.util.ParserException;
25 import org.abstracthorizon.mercury.imap.util.IMAPScanner;
26
27
28
29
30
31
32
33 public class UID extends IMAPCommand {
34
35
36
37
38
39 public UID(String mnemonic) {
40 super(mnemonic);
41 }
42
43
44
45
46
47
48
49
50
51 protected void execute(IMAPSession session) throws ParserException, MessagingException, CommandException, IOException {
52 IMAPScanner scanner = session.getScanner();
53 if (scanner.keyword("COPY")) {
54 session.getParent().invokeCommand(session, "COPY", true);
55 } else if (scanner.keyword("FETCH")) {
56 session.getParent().invokeCommand(session, "FETCH", true);
57 } else if (scanner.keyword("SEARCH")) {
58 session.getParent().invokeCommand(session, "SEARCH", true);
59 } else if (scanner.keyword("STORE")) {
60 session.getParent().invokeCommand(session, "STORE", true);
61 } else {
62 new NOResponse(session, Response.UNTAGGED_RESPONSE, "Error in UID command").submit();
63 }
64 }
65 }