Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.00 KB | None | 0 0
  1. package Ejercicio2;
  2.  
  3. import java.util.Date;
  4.  
  5. public class Email {
  6.     private String from;
  7.     private String subject;
  8.     private Date date;
  9.     private Priority priority;
  10.     private String text;
  11.     private Mailbox mailbox;
  12.  
  13.     public Email(String from, String subject, Date date, Priority priority, String text, Mailbox mailbox) {
  14.         this.from = from;
  15.         this.subject = subject;
  16.         this.date = date;
  17.         this.priority = priority;
  18.         this.text = text;
  19.         this.mailbox = mailbox;
  20.     }
  21.  
  22.     public String getFrom() {
  23.         return from;
  24.     }
  25.  
  26.     public void setFrom(String from) {
  27.         this.from = from;
  28.     }
  29.  
  30.     public String getSubject() {
  31.         return subject;
  32.     }
  33.  
  34.     public void setSubject(String subject) {
  35.         this.subject = subject;
  36.     }
  37.  
  38.     public Date getDate() {
  39.         return date;
  40.     }
  41.  
  42.     public void setDate(Date date) {
  43.         this.date = date;
  44.     }
  45.  
  46.     public Priority getPriority() {
  47.         return priority;
  48.     }
  49.  
  50.     public void setPriority(Priority priority) {
  51.         this.priority = priority;
  52.     }
  53.  
  54.     public String getText() {
  55.         return text;
  56.     }
  57.  
  58.     public void setText(String text) {
  59.         this.text = text;
  60.     }
  61.  
  62.     public Mailbox getMailbox() {
  63.         return mailbox;
  64.     }
  65.  
  66.     public void setMailbox(Mailbox mailbox) {
  67.         this.mailbox = mailbox;
  68.     }
  69. }
  70.  
  71.  
  72.  
  73. import java.util.LinkedList;
  74.  
  75. public class Mailbox {
  76.     private LinkedList<Email> email;
  77.     private Sort sortC;
  78.  
  79.     public Mailbox(LinkedList<Email> email, Sort sortC) {
  80.         this.email = email;
  81.         this.sortC = sortC;
  82.     }
  83.  
  84.     public void show(){
  85.         sort();
  86.         for (Email e : email) {
  87.             System.out.println("From: " + e.getFrom());
  88.             System.out.println("Subject: " + e.getSubject());
  89.             System.out.println("Date: " + e.getDate().toString());
  90.             System.out.println();
  91.             System.out.println(e.getText());
  92.             System.out.println();
  93.             System.out.println();
  94.         }
  95.     }
  96.  
  97.     private void sort(){
  98.         for (int i = 2; i <= email.size(); i++ )
  99.             for (int j = email.size(); j >= i; j--)
  100.                 if (sortC.before(email.get(j-1),email.get(j-2))){
  101.                     Email em = email.get(j-1);
  102.                     email.set(j-1, email.get(j-2));
  103.                     email.set(j-2, em);
  104.                 }
  105.     }
  106.  
  107.     public LinkedList<Email> getEmail() {
  108.         return email;
  109.     }
  110.  
  111.     public void setEmail(LinkedList<Email> email) {
  112.         this.email = email;
  113.     }
  114.  
  115.     public Sort getSortC() {
  116.         return sortC;
  117.     }
  118.  
  119.     public void setSortC(Sort sortC) {
  120.         this.sortC = sortC;
  121.     }
  122. }
  123.  
  124.  
  125.  
  126. public class Priority {
  127.     private int priority;
  128.  
  129.     public Priority(int priority) {
  130.  
  131.         this.priority = priority;
  132.     }
  133.  
  134.     public int getPriority() {
  135.         return priority;
  136.     }
  137.  
  138.     public void setPriority(int priority) {
  139.         this.priority = priority;
  140.     }
  141. }
  142.  
  143.  
  144.  
  145. public abstract class Sort {
  146.     public abstract Boolean before(Email m1, Email m2);
  147. }
  148.  
  149.  
  150.  
  151. public class SortDate extends Sort{
  152.     @Override
  153.     public Boolean before(Email m1, Email m2) {
  154.         return m1.getDate().before(m2.getDate());
  155.     }
  156. }
  157.  
  158.  
  159.  
  160. public class SortFrom extends Sort{
  161.     @Override
  162.     public Boolean before(Email m1, Email m2) {
  163.         return (m1.getFrom().compareTo(m2.getFrom()) <= 0);
  164.     }
  165. }
  166.  
  167.  
  168.  
  169. public class SortPriority extends Sort{
  170.     @Override
  171.     public Boolean before(Email m1, Email m2) {
  172.         return m1.getPriority().getPriority() > m2.getPriority().getPriority();
  173.     }
  174. }
  175.  
  176.  
  177.  
  178. public class SortSubject extends Sort{
  179.     @Override
  180.     public Boolean before(Email m1, Email m2) {
  181.         return (m1.getSubject().compareTo(m2.getSubject()) <= 0);
  182.     }
  183. }
  184.  
  185.  
  186.  
  187. public class SortText extends Sort{
  188.     @Override
  189.     public Boolean before(Email m1, Email m2) {
  190.         return (m1.getText().compareTo(m2.getText()) <= 0);
  191.     }
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement