1 /**
2
3 */
4 public class Mailbox
5 {
6 /**
7
8 @param aPasscode
9 @param aGreeting
10 */
11 public Mailbox(String aPasscode, String aGreeting)
12 {
13 passcode = aPasscode;
14 greeting = aGreeting;
15 newMessages = new MessageQueue();
16 keptMessages = new MessageQueue();
17 }
18
19 /**
20
21 @param aPasscode
22 @return
23 */
24 public boolean checkPasscode(String aPasscode)
25 {
26 return aPasscode.equals(passcode);
27 }
28
29 /**
30
31 @param aMessage
32 */
33 public void addMessage(Message aMessage)
34 {
35 newMessages.add(aMessage);
36 }
37
38 /**
39
40 @return
41 */
42 public Message getCurrentMessage()
43 {
44 if (newMessages.size() > 0)
45 return newMessages.peek();
46 else if (keptMessages.size() > 0)
47 return keptMessages.peek();
48 else
49 return null;
50 }
51
52 /**
53
54 @return
55 */
56 public Message removeCurrentMessage()
57 {
58 if (newMessages.size() > 0)
59 return newMessages.remove();
60 else if (keptMessages.size() > 0)
61 return keptMessages.remove();
62 else
63 return null;
64 }
65
66 /**
67
68 */
69 public void saveCurrentMessage()
70 {
71 Message m = removeCurrentMessage();
72 if (m != null)
73 keptMessages.add(m);
74 }
75
76 /**
77
78 @param newGreeting
79 */
80 public void setGreeting(String newGreeting)
81 {
82 greeting = newGreeting;
83 }
84
85 /**
86
87 @param newPasscode
88 */
89 public void setPasscode(String newPasscode)
90 {
91 passcode = newPasscode;
92 }
93
94 /**
95
96 @return
97 */
98 public String getGreeting()
99 {
100 return greeting;
101 }
102
103 private MessageQueue newMessages;
104 private MessageQueue keptMessages;
105 private String greeting;
106 private String passcode;
107 }