Package io.jmix.emailtemplates.impl
Class EmailTemplatesImpl
java.lang.Object
io.jmix.emailtemplates.impl.EmailTemplatesImpl
- All Implemented Interfaces:
EmailTemplates
@Component("emltmp_EmailTemplates")
public class EmailTemplatesImpl
extends Object
implements EmailTemplates
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected FileStorageLocatorprotected Metadataprotected ReportRunnerprotected TemplateConverter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildFromTemplate(EmailTemplate emailTemplate) That method providesEmailTemplateBuilderfluent builder API for email template.buildFromTemplate(String code) That method providesEmailTemplateBuilderfluent builder API by template with unique string code.voidcheckParameterTypeChanged(ReportInputParameter inputParameter, ParameterValue parameterValue) That method checks that the report input parameter did not change own parameter typeprotected EmailAttachmentcreateEmailAttachment(String templateName, ReportWithParams reportWithParams) protected ReportWithParamscreateParamsMapForReport(Report report, Map<String, Object> params) protected List<EmailAttachment>createReportAttachments(Map<TemplateReport, ReportWithParams> reportsWithParams) generateEmail(EmailTemplate emailTemplate, Collection<ReportWithParams> params) That method createsEmailInfofrom template that may contain the same reports with different parameter values.generateEmail(EmailTemplate emailTemplate, Map<String, Object> params) That method createsEmailInfoby template and parameters map for all included reports.generateEmail(String emailTemplateCode, Collection<ReportWithParams> params) That method createsEmailInfoby template with unique string code.generateEmail(String emailTemplateCode, Map<String, Object> params) That method createsEmailInfoby template with unique string code.protected EmailInfogenerateEmailInfoWithoutAttachments(ReportWithParams reportWithParams) protected EmailTemplateBuildergetEmailTemplateBuilder(EmailTemplate emailTemplate) protected EmailTemplategetEmailTemplateByCode(String emailTemplateCode)
-
Field Details
-
reportRunner
-
fileStorageLocator
-
templateConverter
-
applicationContext
@Autowired protected org.springframework.context.ApplicationContext applicationContext -
metadata
-
-
Constructor Details
-
EmailTemplatesImpl
public EmailTemplatesImpl()
-
-
Method Details
-
generateEmail
public EmailInfo generateEmail(EmailTemplate emailTemplate, Collection<ReportWithParams> params) throws TemplateNotFoundException, ReportParameterTypeChangedException Description copied from interface:EmailTemplatesThat method createsEmailInfofrom template that may contain the same reports with different parameter values.- Specified by:
generateEmailin interfaceEmailTemplates- Parameters:
emailTemplate-EmailTemplateentity containing body and attachments reportsparams-ReportWithParamswrapper containing report and its parameters- Returns:
EmailInfofrom Jmix emailer- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or nullReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-
generateEmail
public EmailInfo generateEmail(EmailTemplate emailTemplate, Map<String, Object> params) throws TemplateNotFoundException, ReportParameterTypeChangedExceptionDescription copied from interface:EmailTemplatesThat method createsEmailInfoby template and parameters map for all included reports.- Specified by:
generateEmailin interfaceEmailTemplates- Parameters:
emailTemplate-EmailTemplateentity containing body and attachments reportsparams- map containing parameters for all included reports- Returns:
EmailInfofrom Jmix emailer- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or nullReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-
generateEmail
public EmailInfo generateEmail(String emailTemplateCode, Map<String, Object> params) throws TemplateNotFoundException, ReportParameterTypeChangedExceptionDescription copied from interface:EmailTemplatesThat method createsEmailInfoby template with unique string code.- Specified by:
generateEmailin interfaceEmailTemplates- Parameters:
emailTemplateCode- unique string code of email templateparams- map containing parameters for all included reports- Returns:
EmailInfofrom Jmix emailer- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or nullReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-
generateEmail
public EmailInfo generateEmail(String emailTemplateCode, Collection<ReportWithParams> params) throws TemplateNotFoundException, ReportParameterTypeChangedException Description copied from interface:EmailTemplatesThat method createsEmailInfoby template with unique string code.- Specified by:
generateEmailin interfaceEmailTemplates- Parameters:
emailTemplateCode- unique string code of email templateparams-ReportWithParamswrapper containing report and its parameters- Returns:
EmailInfofrom Jmix emailer- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or nullReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-
getEmailTemplateByCode
protected EmailTemplate getEmailTemplateByCode(String emailTemplateCode) throws TemplateNotFoundException - Throws:
TemplateNotFoundException
-
checkParameterTypeChanged
public void checkParameterTypeChanged(ReportInputParameter inputParameter, ParameterValue parameterValue) throws ReportParameterTypeChangedException Description copied from interface:EmailTemplatesThat method checks that the report input parameter did not change own parameter type- Specified by:
checkParameterTypeChangedin interfaceEmailTemplates- Parameters:
inputParameter-ReportInputParameterfrom Jmix reportingparameterValue- entityParameterValueto save report parameter default value- Throws:
ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-
buildFromTemplate
Description copied from interface:EmailTemplatesThat method providesEmailTemplateBuilderfluent builder API for email template.- Specified by:
buildFromTemplatein interfaceEmailTemplates- Parameters:
emailTemplate-EmailTemplateentity containing body and attachments reports- Returns:
EmailTemplateBuilderfluent template builder API
-
buildFromTemplate
Description copied from interface:EmailTemplatesThat method providesEmailTemplateBuilderfluent builder API by template with unique string code.- Specified by:
buildFromTemplatein interfaceEmailTemplates- Parameters:
code- unique string code of email template*- Returns:
EmailTemplateBuilderfluent template builder API- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or null
-
getEmailTemplateBuilder
-
generateEmailInfoWithoutAttachments
-
createReportAttachments
protected List<EmailAttachment> createReportAttachments(Map<TemplateReport, ReportWithParams> reportsWithParams) -
createEmailAttachment
protected EmailAttachment createEmailAttachment(String templateName, ReportWithParams reportWithParams) -
createParamsMapForReport
-