Skip to content

Instantly share code, notes, and snippets.

@JIghtuse
Created October 6, 2016 17:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JIghtuse/ea2633c4e28bc46eb85b695f5639dcf4 to your computer and use it in GitHub Desktop.
Save JIghtuse/ea2633c4e28bc46eb85b695f5639dcf4 to your computer and use it in GitHub Desktop.
Mail System main method
package com.company;
import java.util.logging.*;
public class Main {
public static void main(String[] args) {
Logger logger = Logger.getLogger("main");
Inspector inspector = new Inspector();
Spy spy = new Spy(logger);
Thief thief = new Thief(100);
MailService variousWorkers[] = {
spy,
thief,
inspector
};
UntrustworthyMailWorker worker = new UntrustworthyMailWorker(variousWorkers);
AbstractSendable correspondence[] = {
new MailMessage("dog", "cat", "Hi!"),
new MailMessage("cat", "dog", "Hi! What do you want?"),
new MailMessage("cat", AUSTIN_POWERS, "Dog is writing me again. Can you do something?"),
new MailMessage(AUSTIN_POWERS, "cat", "I'll do my best."),
new MailPackage(AUSTIN_POWERS, "dog", new Package("bomb", 300)),
new MailMessage("dog", AUSTIN_POWERS, "Why do you send me stones?"),
new MailPackage(AUSTIN_POWERS, "dog", new Package("banned substance", 99)),
new MailPackage(AUSTIN_POWERS, "dog", new Package("tiny bomb", 90)),
new MailMessage(AUSTIN_POWERS, "cat", "Done."),
};
for (AbstractSendable sendable : correspondence) {
try {
worker.processMail(sendable);
} catch (StolenPackageException e) {
logger.log(Level.WARNING, "Inspector found stolen package: " + e);
} catch (IllegalPackageException e) {
logger.log(Level.WARNING, "Inspector found illegal package: " + e);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment