package org.springmodules.template.support; import org.springmodules.template.TemplateResolver; import org.springmodules.template.Template; import org.springframework.util.Assert; import org.springframework.beans.factory.InitializingBean; /** * @author Uri Boness */ public class TemplateSupport implements InitializingBean { private String templateName; private TemplateResolver templateResolver; private Template template; public TemplateSupport() { this(null); } public TemplateSupport(Template template) { this.template = template; } public TemplateSupport(TemplateResolver templateResolver, String templateName) { this(templateResolver.resolve(templateName)); } public final void afterPropertiesSet() throws Exception { if (template == null) { Assert.notNull(templateResolver, "Property 'templateResolver' is required"); Assert.notNull(templateName, "Property 'templateName' is required"); template = templateResolver.resolve(templateName); } } /** * Override this method to perform special initialization tasks. Does nothing by default. * * @throws Exception when initialization fails. */ protected void init() throws Exception { } //============================================== Setter/Getter ===================================================== public Template getTemplate() { return template; } public void setTemplate(Template template) { this.template = template; } public void setTemplateName(String templateName) { this.templateName = templateName; } public void setTemplateResolver(TemplateResolver templateResolver) { this.templateResolver = templateResolver; } }