Package io.jmix.emailtemplates.impl
Class EmailTemplateBuilderImpl
java.lang.Object
io.jmix.emailtemplates.impl.EmailTemplateBuilderImpl
- All Implemented Interfaces:
EmailTemplateBuilder
@Component("emltmp_EmailTemplateBuilder")
@Scope("prototype")
public class EmailTemplateBuilderImpl
extends Object
implements EmailTemplateBuilder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Emailerprotected EmailTemplateprotected EmailTemplatesprotected Metadataprotected MetadataToolsprotected List<ReportWithParams> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThat terminal method fills 'attachedFiles' property of email templateEmailTemplate.addAttachmentReport(Report report) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplateby oneTemplateReportfor that report.That terminal method fills 'bcc' property of email templateEmailTemplate.That terminal method fills 'cc' property of email templateEmailTemplate.That terminal method fills 'to' property of email templateEmailTemplate.build()That intermediate method creates copy of filledEmailTemplateprotected EmailTemplatecloneTemplate(EmailTemplate emailTemplate) That intermediate method createsEmailInfoby filled email template usingEmailTemplates.voidThat intermediate method sends filled email templateEmailTemplateusingEmailer.voidsendEmail(boolean async) That intermediate method sends filled email templateEmailTemplateusingEmailer.voidThat intermediate method asynchronously sends filled email templateEmailTemplateusingEmailer.That terminal method fills 'attachedFiles' property of email templateEmailTemplate.setAttachmentParameter(Report report, String key, Object value) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate.setAttachmentParameters(ReportWithParams reportWithParams) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate.setAttachmentParameters(Report report, Map<String, Object> params) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate.setAttachmentParameters(Collection<ReportWithParams> reportsWithParams) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate.setAttachmentReports(Collection<Report> reports) That terminal method fills 'attachedTemplateReports' property of email templateEmailTemplateby collection ofTemplateReportfor each reports.That terminal method fills 'bcc' property of email templateEmailTemplate.setBodyParameter(String key, Object value) That terminal method fillsTemplateReportfor child entity of email templateEmailTemplate.setBodyParameters(Map<String, Object> params) That terminal method fillsTemplateReportof child entity of email templateEmailTemplate.That terminal method fills 'cc' property of email templateEmailTemplate.voidsetEmailTemplate(EmailTemplate emailTemplate) Clones specified email template and set it for the builder instanceThat terminal method fills 'from' property of email templateEmailTemplate.setSubject(String subject) That terminal method fills subject property of email templateEmailTemplate.That terminal method fills 'to' property of email templateEmailTemplate.
-
Field Details
-
emailTemplate
-
reportParams
-
metadata
-
emailTemplates
-
emailer
-
metadataTools
-
-
Constructor Details
-
EmailTemplateBuilderImpl
public EmailTemplateBuilderImpl()
-
-
Method Details
-
setEmailTemplate
Description copied from interface:EmailTemplateBuilderClones specified email template and set it for the builder instance- Specified by:
setEmailTemplatein interfaceEmailTemplateBuilder- Parameters:
emailTemplate- email template
-
setSubject
Description copied from interface:EmailTemplateBuilderThat terminal method fills subject property of email templateEmailTemplate.- Specified by:
setSubjectin interfaceEmailTemplateBuilder- Parameters:
subject-String- Returns:
EmailTemplateBuilder
-
setFrom
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'from' property of email templateEmailTemplate.- Specified by:
setFromin interfaceEmailTemplateBuilder- Parameters:
from-String- Returns:
EmailTemplateBuilder
-
addTo
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'to' property of email templateEmailTemplate. Addresses is added to already existed by the concatenation with ',' symbol.- Specified by:
addToin interfaceEmailTemplateBuilder- Parameters:
to-String- Returns:
EmailTemplateBuilder
-
setTo
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'to' property of email templateEmailTemplate.- Specified by:
setToin interfaceEmailTemplateBuilder- Parameters:
to-String- Returns:
EmailTemplateBuilder
-
addCc
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'cc' property of email templateEmailTemplate. Addresses is added to already existed by the concatenation with ',' symbol.- Specified by:
addCcin interfaceEmailTemplateBuilder- Parameters:
cc-String- Returns:
EmailTemplateBuilder
-
setCc
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'cc' property of email templateEmailTemplate.- Specified by:
setCcin interfaceEmailTemplateBuilder- Parameters:
cc-String- Returns:
EmailTemplateBuilder
-
addBcc
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'bcc' property of email templateEmailTemplate. Addresses is added to already existed by the concatenation with ',' symbol.- Specified by:
addBccin interfaceEmailTemplateBuilder- Parameters:
bcc-String- Returns:
EmailTemplateBuilder
-
setBcc
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'bcc' property of email templateEmailTemplate.- Specified by:
setBccin interfaceEmailTemplateBuilder- Parameters:
bcc-String- Returns:
EmailTemplateBuilder
-
addAttachmentReport
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplateby oneTemplateReportfor that report.- Specified by:
addAttachmentReportin interfaceEmailTemplateBuilder- Parameters:
report-Report- Returns:
EmailTemplateBuilder
-
setAttachmentReports
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplateby collection ofTemplateReportfor each reports.- Specified by:
setAttachmentReportsin interfaceEmailTemplateBuilder- Parameters:
reports- collection ofReport- Returns:
EmailTemplateBuilder
-
addAttachmentFile
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedFiles' property of email templateEmailTemplate.- Specified by:
addAttachmentFilein interfaceEmailTemplateBuilder- Parameters:
file-EmailTemplateAttachment- Returns:
EmailTemplateBuilder
-
setAttachmentFiles
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedFiles' property of email templateEmailTemplate.- Specified by:
setAttachmentFilesin interfaceEmailTemplateBuilder- Parameters:
files- list ofEmailTemplateAttachment- Returns:
EmailTemplateBuilder
-
setAttachmentParameter
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate. Method removes allTemplateReportwith same report if they exist.- Specified by:
setAttachmentParameterin interfaceEmailTemplateBuilder- Parameters:
report- reportkey-Stringis alias property ofParameterValuevalue-Objectwill be converted to defaultValue property ofParameterValue- Returns:
EmailTemplateBuilder
-
setAttachmentParameters
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate. Method removes allTemplateReportwith same report if they exist.- Specified by:
setAttachmentParametersin interfaceEmailTemplateBuilder- Parameters:
reportWithParams-ReportWithParams- Returns:
EmailTemplateBuilder
-
setAttachmentParameters
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate. Method removes allTemplateReportwith same report if they exist.- Specified by:
setAttachmentParametersin interfaceEmailTemplateBuilder- Parameters:
report-Reportparams-Map- Returns:
EmailTemplateBuilder
-
setBodyParameter
Description copied from interface:EmailTemplateBuilderThat terminal method fillsTemplateReportfor child entity of email templateEmailTemplate. If there are no reports with parameter with alias 'key', do nothing.- Specified by:
setBodyParameterin interfaceEmailTemplateBuilder- Parameters:
key-Stringis alias property ofParameterValuevalue-Objectwill be converted to defaultValue property ofParameterValue- Returns:
EmailTemplateBuilder
-
setBodyParameters
Description copied from interface:EmailTemplateBuilderThat terminal method fillsTemplateReportof child entity of email templateEmailTemplate. If there are no reports with parameter with aliases that contained in key set, do nothing.- Specified by:
setBodyParametersin interfaceEmailTemplateBuilder- Parameters:
params-Map- Returns:
EmailTemplateBuilder
-
setAttachmentParameters
Description copied from interface:EmailTemplateBuilderThat terminal method fills 'attachedTemplateReports' property of email templateEmailTemplate. Method removes allTemplateReportwith same report if they exist.- Specified by:
setAttachmentParametersin interfaceEmailTemplateBuilder- Parameters:
reportsWithParams- collection ofReportWithParams- Returns:
EmailTemplateBuilder
-
generateEmail
public EmailInfo generateEmail() throws ReportParameterTypeChangedException, TemplateNotFoundExceptionDescription copied from interface:EmailTemplateBuilderThat intermediate method createsEmailInfoby filled email template usingEmailTemplates.- Specified by:
generateEmailin interfaceEmailTemplateBuilder- Returns:
EmailInfofrom Jmix emailer- Throws:
ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.TemplateNotFoundException- If emailTemplate does not contain reports or null.
-
build
Description copied from interface:EmailTemplateBuilderThat intermediate method creates copy of filledEmailTemplate- Specified by:
buildin interfaceEmailTemplateBuilder- Returns:
EmailTemplatefrom Jmix emailer
-
cloneTemplate
-
sendEmail
public void sendEmail() throws TemplateNotFoundException, ReportParameterTypeChangedException, EmailExceptionDescription copied from interface:EmailTemplateBuilderThat intermediate method sends filled email templateEmailTemplateusingEmailer.- Specified by:
sendEmailin interfaceEmailTemplateBuilder- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or null.ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.EmailException- if an error occurs during email sending
-
sendEmail
public void sendEmail(boolean async) throws TemplateNotFoundException, ReportParameterTypeChangedException, EmailException Description copied from interface:EmailTemplateBuilderThat intermediate method sends filled email templateEmailTemplateusingEmailer.- Specified by:
sendEmailin interfaceEmailTemplateBuilder- Parameters:
async- Provides choice of selecting asynchronous option.- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or null.ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.EmailException- if an error occurs during email sending
-
sendEmailAsync
Description copied from interface:EmailTemplateBuilderThat intermediate method asynchronously sends filled email templateEmailTemplateusingEmailer.- Specified by:
sendEmailAsyncin interfaceEmailTemplateBuilder- Throws:
TemplateNotFoundException- If emailTemplate does not contain reports or null.ReportParameterTypeChangedException- If parameter type of inputParameter does not equal to type saved in parameterValue.
-