Implement a simple e-mail messaging system. I have already designed a Message class and a Mailbox/MailboxTest class. A message has a recipient, a sender, and a message text. A Mailbox can store and manipulate messages and tell the user how many they have. Supply a number of mailboxes for different users and a user interface(GUI) for the user to login, send messages to other users, read their own messages, and log out. Please explain each thing you do.   Here is my Message class: publicclass Message {     private String recipient; private String sender; private String messageBody; public Message(Stringsender, String recipient) { this.sender =sender; this.recipient =recipient; this.messageBody =""; } public void append(String text) { this.messageBody +=text +"\n"; } public String toString() { return "From: " + this.sender+ "\n" + "To: " + this.recipient + "\n" + "Message: " + this.messageBody; } }   Here is Mailbox class: import java.util.ArrayList;   publicclass Mailbox{       private ArrayList messages;              public Mailbox() {       this.messages = newArrayList();       }       public void addMessage(Message m) {       this.messages.add(m);       }       public Message getMessage(int i) {       returnthis.messages.get(i);       }       public void removeMessage(int i) {       this.messages.remove(i);       }       public int mailBoxSize()       {       returnthis.messages.size();       } }   MailBoxTest class: publicclass MailboxTest {         public static voidmain(String[] args) { Mailbox mailbox =new Mailbox(); Message message1 =new Message("Bob Frank", "Steve Smith"); message1.append("Hello Bob, how are you? "); mailbox.addMessage(message1);   Message message2 =new Message("Steve Smith", "Bob Frank"); message2.append("Hello Steve, I am good. "); mailbox.addMessage(message2);   System.out.println(mailbox.getMessage(0).toString()); System.out.println(mailbox.getMessage(1).toString());   System.out.println("Mailbox size = " +mailbox.mailBoxSize()+ " after adding both messages"); mailbox.removeMessage(1); System.out.println("Removed message2"); System.out.println("Mailbox size = " +mailbox.mailBoxSize()+ " after removing message2 \n"); System.out.println(mailbox.getMessage(0).toString());       } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Implement a simple e-mail messaging system.

I have already designed a Message class and a Mailbox/MailboxTest class. A message has a recipient, a sender, and a message text. A Mailbox can store and manipulate messages and tell the user how many they have.

Supply a number of mailboxes for different users and a user interface(GUI) for the user to loginsend messages to other users, read their own messages, and log out.

Please explain each thing you do.

 

Here is my Message class:

publicclass Message

{

    private String recipient;

private String sender;

private String messageBody;

public Message(Stringsender, String recipient) {

this.sender =sender;

this.recipient =recipient;

this.messageBody ="";

}

public void append(String text) {

this.messageBody +=text +"\n";

}

public String toString() {

return "From: " + this.sender+ "\n" + "To: " + this.recipient + "\n" + "Message: " + this.messageBody;

}

}

 

Here is Mailbox class:

import java.util.ArrayList;

 

publicclass Mailbox{

      private ArrayList<Message> messages;

      

      public Mailbox() {

      this.messages = newArrayList<Message>();

      }

      public void addMessage(Message m) {

      this.messages.add(m);

      }

      public Message getMessage(int i) {

      returnthis.messages.get(i);

      }

      public void removeMessage(int i) {

      this.messages.remove(i);

      }

      public int mailBoxSize()

      {

      returnthis.messages.size();

      }

}

 

MailBoxTest class:

publicclass MailboxTest

{

 

      public static voidmain(String[] args) {

Mailbox mailbox =new Mailbox();

Message message1 =new Message("Bob Frank", "Steve Smith");

message1.append("Hello Bob, how are you? ");

mailbox.addMessage(message1);

 

Message message2 =new Message("Steve Smith", "Bob Frank");

message2.append("Hello Steve, I am good. ");

mailbox.addMessage(message2);

 

System.out.println(mailbox.getMessage(0).toString());

System.out.println(mailbox.getMessage(1).toString());

 

System.out.println("Mailbox size = " +mailbox.mailBoxSize()+ " after adding both messages");

mailbox.removeMessage(1);

System.out.println("Removed message2");

System.out.println("Mailbox size = " +mailbox.mailBoxSize()+ " after removing message2 \n");

System.out.println(mailbox.getMessage(0).toString());

      }

}

Expert Solution
steps

Step by step

Solved in 5 steps

Blurred answer
Knowledge Booster
Development strategies
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education