1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.james.pop3server;
23
24 import org.apache.mailet.Mail;
25
26 import javax.mail.MessagingException;
27
28 import java.util.Iterator;
29
30
31
32
33 public class StatCmdHandler implements CommandHandler {
34
35
36
37
38 public void onCommand(POP3Session session) {
39 doSTAT(session,session.getCommandArgument());
40 }
41
42
43
44
45
46
47
48
49 private void doSTAT(POP3Session session,String argument) {
50 String responseString = null;
51 if (session.getHandlerState() == POP3Handler.TRANSACTION) {
52 long size = 0;
53 int count = 0;
54 try {
55 for (Iterator i = session.getUserMailbox().iterator(); i.hasNext(); ) {
56 Mail mc = (Mail) i.next();
57 if (mc != POP3Handler.DELETED) {
58 size += mc.getMessageSize();
59 count++;
60 }
61 }
62 StringBuffer responseBuffer =
63 new StringBuffer(32)
64 .append(POP3Handler.OK_RESPONSE)
65 .append(" ")
66 .append(count)
67 .append(" ")
68 .append(size);
69 responseString = responseBuffer.toString();
70 session.writeResponse(responseString);
71 } catch (MessagingException me) {
72 responseString = POP3Handler.ERR_RESPONSE;
73 session.writeResponse(responseString);
74 }
75 } else {
76 responseString = POP3Handler.ERR_RESPONSE;
77 session.writeResponse(responseString);
78 }
79 }
80
81
82 }