import java.util.ArrayList; public class Phone { private String number; private ArrayList messages; Phone(String number) throws NumberInUseException { this.number = number; this.messages = new ArrayList(); Network.instance().register(this); } String getNumber() { return this.number; } void sendTextToFriend(String friendsNumber, String messageForThem) throws NonWorkingNumberException, MailboxFullException { Network.instance().deliverText(friendsNumber, messageForThem); } void acceptTextFromNetwork(String messageForMe) throws MailboxFullException { if (this.messages.size() >= 5) { throw new MailboxFullException(); } else { this.messages.add(messageForMe); } } String viewNextText() { if (messages.size() == 0) { return ""; } else { String message = this.messages.get(0); this.messages.remove(0); return message; } } }