import java.util.Collection;
import java.util.concurrent.BlockingQueue;
public abstract class MailProducer {
private String recipientsFileName;
private BlockingQueue<Mail> queue;
private Properties defaultProperties;
public MailProducer(String recipientsFileName, BlockingQueue<Mail> queue, Properties defaultProperties) {
this.recipientsFileName = recipientsFileName;
this.queue = queue;
this.defaultProperties = defaultProperties;
}
public abstract Collection<MailTemplate> buildMail(Collection<MailTemplate> templates);
public abstract void enqueueMail(Collection<Mail> mails);
}
Метод buildMail будет считывать xml с адресной книгой (вызывать XMLUtils из #6). Дальше для каждого переданного шаблона письма для каждого получателя создаётся объект Mail и возвращается коллекция из всех полученных писем.
Метод enqueueMail помещает все письма из коллекции в очередь, переданную в конструкторе класса.
Описание задачи
Необходимо реализовать API следующего класса:
Метод buildMail будет считывать xml с адресной книгой (вызывать XMLUtils из #6). Дальше для каждого переданного шаблона письма для каждого получателя создаётся объект Mail и возвращается коллекция из всех полученных писем.
Метод enqueueMail помещает все письма из коллекции в очередь, переданную в конструкторе класса.