Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Ejercicio2;
- import java.util.Date;
- public class Email {
- private String from;
- private String subject;
- private Date date;
- private Priority priority;
- private String text;
- private Mailbox mailbox;
- public Email(String from, String subject, Date date, Priority priority, String text, Mailbox mailbox) {
- this.from = from;
- this.subject = subject;
- this.date = date;
- this.priority = priority;
- this.text = text;
- this.mailbox = mailbox;
- }
- public String getFrom() {
- return from;
- }
- public void setFrom(String from) {
- this.from = from;
- }
- public String getSubject() {
- return subject;
- }
- public void setSubject(String subject) {
- this.subject = subject;
- }
- public Date getDate() {
- return date;
- }
- public void setDate(Date date) {
- this.date = date;
- }
- public Priority getPriority() {
- return priority;
- }
- public void setPriority(Priority priority) {
- this.priority = priority;
- }
- public String getText() {
- return text;
- }
- public void setText(String text) {
- this.text = text;
- }
- public Mailbox getMailbox() {
- return mailbox;
- }
- public void setMailbox(Mailbox mailbox) {
- this.mailbox = mailbox;
- }
- }
- import java.util.LinkedList;
- public class Mailbox {
- private LinkedList<Email> email;
- private Sort sortC;
- public Mailbox(LinkedList<Email> email, Sort sortC) {
- this.email = email;
- this.sortC = sortC;
- }
- public void show(){
- sort();
- for (Email e : email) {
- System.out.println("From: " + e.getFrom());
- System.out.println("Subject: " + e.getSubject());
- System.out.println("Date: " + e.getDate().toString());
- System.out.println();
- System.out.println(e.getText());
- System.out.println();
- System.out.println();
- }
- }
- private void sort(){
- for (int i = 2; i <= email.size(); i++ )
- for (int j = email.size(); j >= i; j--)
- if (sortC.before(email.get(j-1),email.get(j-2))){
- Email em = email.get(j-1);
- email.set(j-1, email.get(j-2));
- email.set(j-2, em);
- }
- }
- public LinkedList<Email> getEmail() {
- return email;
- }
- public void setEmail(LinkedList<Email> email) {
- this.email = email;
- }
- public Sort getSortC() {
- return sortC;
- }
- public void setSortC(Sort sortC) {
- this.sortC = sortC;
- }
- }
- public class Priority {
- private int priority;
- public Priority(int priority) {
- this.priority = priority;
- }
- public int getPriority() {
- return priority;
- }
- public void setPriority(int priority) {
- this.priority = priority;
- }
- }
- public abstract class Sort {
- public abstract Boolean before(Email m1, Email m2);
- }
- public class SortDate extends Sort{
- @Override
- public Boolean before(Email m1, Email m2) {
- return m1.getDate().before(m2.getDate());
- }
- }
- public class SortFrom extends Sort{
- @Override
- public Boolean before(Email m1, Email m2) {
- return (m1.getFrom().compareTo(m2.getFrom()) <= 0);
- }
- }
- public class SortPriority extends Sort{
- @Override
- public Boolean before(Email m1, Email m2) {
- return m1.getPriority().getPriority() > m2.getPriority().getPriority();
- }
- }
- public class SortSubject extends Sort{
- @Override
- public Boolean before(Email m1, Email m2) {
- return (m1.getSubject().compareTo(m2.getSubject()) <= 0);
- }
- }
- public class SortText extends Sort{
- @Override
- public Boolean before(Email m1, Email m2) {
- return (m1.getText().compareTo(m2.getText()) <= 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement