У меня написана логика получения электронной почты (имя класса: Mail_Receive_Logic
).Этот класс загружает все мои непрочитанные письма в массив messages
.
У меня также есть классы EmailStatPrinter
и EmailStatRecorder
.EmailStatPrinter
имеет метод writeToConsole
, который выводит массив на экран.EmailStatRecorder
имеет метод writeToFile
, который записывает массив в текстовый файл.
Я хочу реализовать эту логику в форме, наблюдаемой наблюдателем.
public class Mail_Receive_Logic extends Observable{
public class EmailStatPrinter implements Observer{
public class EmailStatRecorder implements Observer{
Мой основной метод выглядит следующим образом
public static void main(String[] args) throws ClassNotFoundException {
// observable
Mail_Receive_Logic receiveMail = new Mail_Receive_Logic(usernameReceiving, passwordReceiving, fileReceivePath);
// observer
EmailStatPrinter writeToConsole = new EmailStatPrinter();
EmailStatRecorder writeToFile = new EmailStatRecorder();
receiveMail.addObserver(writeToConsole);
receiveMail.addObserver(writeToFile);
Thread receive = new Thread (new Runnable() {
public void run() {
try {
while (true) {
receiveMail.receive();
}
} catch (InterruptedException e) {}
}
});
receive.start();
Как мне написать обновите метод каждого класса наблюдателя так, чтобы они принимали массив сообщений и печатали его в консоли и текстовом файлет.е. я хочу знать, что писать в следующем сегменте кода для каждого класса наблюдателей.
@Override
public void update(Observable o, Object arg) {
// TODO Auto-generated method stub
}
Пожалуйста, также объясните мне, почему существуют 2 переменные Observable o и Object arg?