/*
* Copyright LGPL3
* YES Technology Association
* http://yestech.org
*
* http://www.opensource.org/licenses/lgpl-3.0.html
*/
/*
*
* Author: Artie Copeland
* Last Modified Date: $DateTime: $
*/
package org.yestech.notify.client;
import org.yestech.notify.constant.MessageTypeEnum;
import org.yestech.notify.objectmodel.ISender;
import org.yestech.notify.objectmodel.IRecipient;
import org.yestech.notify.objectmodel.INotification;
import java.util.Collection;
import java.io.Serializable;
/**
* @author Artie Copeland
* @version $Revision: $
*/
public interface INotificationBuilder {
INotificationBuilder setSubject(String subject);
INotificationBuilder addAttachment(String attachment);
INotificationBuilder addAttachments(Collection<String> attachments);
INotificationBuilder clearAttachments();
INotificationBuilder setMessageType(MessageTypeEnum notificationType);
INotificationBuilder setSender(ISender sender);
INotificationBuilder addRecipient(IRecipient recipient);
INotificationBuilder clearRecipients();
INotificationBuilder addRecipients(Collection<IRecipient> recipients);
INotificationBuilder addCopyRecipient(IRecipient copyRecipient);
INotificationBuilder addCopyRecipients(Collection<IRecipient> copyRecipients);
INotificationBuilder clearCopyRecipients();
INotificationBuilder addBlindRecipient(IRecipient blindRecipient);
INotificationBuilder addBlindRecipients(Collection<IRecipient> blindRecipients);
INotificationBuilder clearBlindRecipients();
INotificationBuilder setText(String text);
INotificationBuilder setTemplateData(Serializable templateData);
INotification createNotification();
void clear();
}