/* * Copyright LGPL3 * YES Technology Association * http://yestech.org * * http://www.opensource.org/licenses/lgpl-3.0.html */ package org.yestech.notify.template; import org.springframework.beans.factory.annotation.Required; import org.yestech.notify.objectmodel.IMessage; /** * A Template Language used to customize a {@link org.yestech.notify.objectmodel.Message}. */ public interface ITemplateLanguage<P extends ITemplateLanguagePersistence> { /** * Applies the Customization to the Message and returns the Custom Message. * * @param message Message to Customize * @return The custom message result */ public String apply(IMessage message); /** * <b>ONLY</b> used for Deserialization!!!!!!! * * @param persistence Template persistence to use. */ @Required public void setPersistence(P persistence); /** * <b>ONLY</b> used for Serialization!!!!!!! * * @return The Template persistence to use. */ public P getPersistence(); }