01: // $Id: AbstractGetCommand.java 335 2006-10-16 06:10:05Z grro $
02:
03: /*
04: * Copyright (c) xsocket.org, 2006 - 2007. All rights reserved.
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or (at your option) any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: *
20: * Please refer to the LGPL license at: http://www.gnu.org/copyleft/lesser.txt
21: * The latest copy of this software may be found on http://www.xsocket.org/
22: */
23: package org.xsocket.mail.pop3;
24:
25: import org.xsocket.mail.pop3.spi.IPOP3AuthenticatorService;
26: import org.xsocket.mail.pop3.spi.IPOP3Maildrop;
27: import org.xsocket.mail.pop3.spi.IPOP3MaildropService;
28:
29: /**
30: * command context
31: *
32: * @author grro@xsocket.org
33: */
34: interface ICommandContext {
35:
36: enum State {
37: AUTHORIZATION, TRANSACTION;
38: }
39:
40: public State getState();
41:
42: public void setState(State state);
43:
44: public IPOP3MaildropService getMaildropService();
45:
46: public void clear();
47:
48: public String getUser();
49:
50: public void setUser(String user);
51:
52: public IPOP3AuthenticatorService getAuthenticator();
53:
54: public void setMaildrop(IPOP3Maildrop maildrop);
55:
56: public IPOP3Maildrop getMaildrop();
57:
58: public boolean addMessageNumberToDelete(Integer msgNumber);
59:
60: public boolean isMessageNumberMarkedAsDeleted(Integer msgNumber);
61:
62: public void clearMessageNumbersToDelete();
63:
64: public Integer[] getMessageNumbersToDelete();
65:
66: public String getMessageUid(Integer msgNumber);
67:
68: public Integer[] mapUidToMessageNumber(String[] uids);
69: }
|