com.day.cq.mailer
Interface MessageTemplate<Type>

All Known Subinterfaces:
EmailTemplate<Type>

public interface MessageTemplate<Type>

MessageTemplate it the template a Message of a Mailing is build of. It must be able to build a Message for each recipient. The Message has to be in the format that is able to be send by a MessageGateway.
As MessageTemplates are likely to access resources, that have a state. Eg. a Session to the Repository, Binary Values or Database access. Therefore the template must be disposed if there no further use for it.

Since:
5.4
See Also:
Mailing

Method Summary
 Type buildMessage(Profile recipient)
          Builds a personalized message for the recipient given as argument.
 void dispose()
          Called if the Template will not be used any longer.
 Class<Type> getType()
           
 void put(String var, String replace)
          Adds or overwrites a mapping of this replacer.
 

Method Detail

getType

Class<Type> getType()
Returns:
indicate the Type the message will be build

buildMessage

Type buildMessage(Profile recipient)
                  throws MailingException
Builds a personalized message for the recipient given as argument.
In case the Template has been disposed an IllegalStateException is thrown.

Parameters:
recipient - to build a message for
Returns:
the message for the given recipient or null if the MailingRecipient does not provide sufficient data to build a Message (eg. no e-mail address to build a e-mail Message)
Throws:
MailingException - in case of an error building the message that is independent of the MailingRecipient eg. access to template storage is in exceptional state.
IllegalStateException - in case method dispose has been called before.

dispose

void dispose()
             throws MailingException
Called if the Template will not be used any longer. A subsequent call to buildMessage will fail. Implementations can dispose any used Resources eg. Binary Values, Database access.

Throws:
MailingException - in case of exception disposing one of the resources

put

void put(String var,
         String replace)
Adds or overwrites a mapping of this replacer.

Parameters:
var - name of the variable to map
replace - the value of the variable


Copyright © 2011-2013 Adobe Systems Incorporated. All Rights Reserved.