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 SummaryFieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected FileStorageLocatorprotected Metadataprotected ReportRunnerprotected TemplateConverter
- 
Constructor SummaryConstructors
- 
Method SummaryModifier 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- 
EmailTemplatesImplpublic EmailTemplatesImpl()
 
- 
- 
Method Details- 
generateEmailpublic 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 interface- EmailTemplates
- Parameters:
- emailTemplate-- EmailTemplateentity containing body and attachments reports
- params-- ReportWithParamswrapper containing report and its parameters
- Returns:
- EmailInfofrom Jmix emailer
- Throws:
- TemplateNotFoundException- If emailTemplate does not contain reports or null
- ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
 
- 
generateEmailpublic 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 interface- EmailTemplates
- Parameters:
- emailTemplate-- EmailTemplateentity containing body and attachments reports
- params- map containing parameters for all included reports
- Returns:
- EmailInfofrom Jmix emailer
- Throws:
- TemplateNotFoundException- If emailTemplate does not contain reports or null
- ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
 
- 
generateEmailpublic 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 interface- EmailTemplates
- Parameters:
- emailTemplateCode- unique string code of email template
- params- map containing parameters for all included reports
- Returns:
- EmailInfofrom Jmix emailer
- Throws:
- TemplateNotFoundException- If emailTemplate does not contain reports or null
- ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
 
- 
generateEmailpublic 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 interface- EmailTemplates
- Parameters:
- emailTemplateCode- unique string code of email template
- params-- ReportWithParamswrapper containing report and its parameters
- Returns:
- EmailInfofrom Jmix emailer
- Throws:
- TemplateNotFoundException- If emailTemplate does not contain reports or null
- ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
 
- 
getEmailTemplateByCodeprotected EmailTemplate getEmailTemplateByCode(String emailTemplateCode) throws TemplateNotFoundException - Throws:
- TemplateNotFoundException
 
- 
checkParameterTypeChangedpublic 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 interface- EmailTemplates
- Parameters:
- inputParameter-- ReportInputParameterfrom Jmix reporting
- parameterValue- entity- ParameterValueto save report parameter default value
- Throws:
- ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
 
- 
buildFromTemplateDescription copied from interface:EmailTemplatesThat method providesEmailTemplateBuilderfluent builder API for email template.- Specified by:
- buildFromTemplatein interface- EmailTemplates
- Parameters:
- emailTemplate-- EmailTemplateentity containing body and attachments reports
- Returns:
- EmailTemplateBuilderfluent template builder API
 
- 
buildFromTemplateDescription copied from interface:EmailTemplatesThat method providesEmailTemplateBuilderfluent builder API by template with unique string code.- Specified by:
- buildFromTemplatein interface- EmailTemplates
- 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
- 
createReportAttachmentsprotected List<EmailAttachment> createReportAttachments(Map<TemplateReport, ReportWithParams> reportsWithParams) 
- 
createEmailAttachmentprotected EmailAttachment createEmailAttachment(String templateName, ReportWithParams reportWithParams) 
- 
createParamsMapForReport
 
-