Package io.jmix.messagetemplates.impl
Class MessageTemplatesGeneratorImpl
java.lang.Object
io.jmix.messagetemplates.impl.MessageTemplatesGeneratorImpl
- All Implemented Interfaces:
MessageTemplatesGenerator,org.springframework.beans.factory.InitializingBean
@Component("msgtmp_MessageTemplatesImpl")
public class MessageTemplatesGeneratorImpl
extends Object
implements MessageTemplatesGenerator, org.springframework.beans.factory.InitializingBean
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassclassclassNested classes/interfaces inherited from interface io.jmix.messagetemplates.MessageTemplatesGenerator
MessageTemplatesGenerator.MultiParamTemplateGenerator, MessageTemplatesGenerator.MultiTemplateGenerator, MessageTemplatesGenerator.SingleTemplateGenerator -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataManagerprotected freemarker.template.Configurationprotected freemarker.template.Versionprotected freemarker.template.ObjectWrapper -
Constructor Summary
ConstructorsConstructorDescriptionMessageTemplatesGeneratorImpl(DataManager dataManager, MessageTemplateProperties messageTemplateProperties) -
Method Summary
Modifier and TypeMethodDescriptionvoidgenerateMessage(MessageTemplate template, Map<String, Object> parameters) Generates a message based on the passedMessageTemplateand parameters map.generateMessage(String templateCode, Map<String, Object> parameters) Generates a message based on the passed code ofMessageTemplateand parameters map.protected StringgenerateMessageInternal(MessageTemplate template, Map<String, Object> parameters, freemarker.template.Configuration configuration) generateMessagesByTemplates(Collection<MessageTemplate> templates, Map<String, Object> parameters, freemarker.template.Configuration configuration) protected freemarker.template.TemplategetHtmlTemplate(MessageTemplate template, freemarker.template.Configuration configuration) protected MessageTemplategetMessageTemplateByCode(String templateCode)
-
Field Details
-
dataManager
-
version
protected freemarker.template.Version version -
wrapper
protected freemarker.template.ObjectWrapper wrapper -
defaultConfiguration
protected freemarker.template.Configuration defaultConfiguration
-
-
Constructor Details
-
MessageTemplatesGeneratorImpl
public MessageTemplatesGeneratorImpl(DataManager dataManager, MessageTemplateProperties messageTemplateProperties)
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
generateSingleTemplate
Description copied from interface:MessageTemplatesGeneratorCreatesMessageTemplatesGenerator.SingleTemplateGenerator.The generator is used to create messages based on a single template and a single map of parameters. The result of the generation is a template filled with passed parameters.
Example of single template generation:generateSingleTemplate() .withTemplateCode("my-template") .addParam("username", "admin") .addParam("firstName", "John") .addParam("lastName", "Doe") .generate();- Specified by:
generateSingleTemplatein interfaceMessageTemplatesGenerator- Returns:
MessageTemplatesGenerator.SingleTemplateGenerator
-
generateMultiTemplate
Description copied from interface:MessageTemplatesGeneratorCreatesMessageTemplatesGenerator.MultiTemplateGenerator.The generator is used to create messages based on a multiple set of templates and a single map of parameters. The result of the generation is a list of templates filled with passed parameters.
Example of multi template generation:generateMultiTemplate() .withTemplateCodes("my-first-template", "my-second-template") .addParam("username", "admin") .addParam("firstName", "John") .addParam("lastName", "Doe") .generate();- Specified by:
generateMultiTemplatein interfaceMessageTemplatesGenerator- Returns:
MessageTemplatesGenerator.MultiTemplateGenerator
-
generateMultiParamTemplate
Description copied from interface:MessageTemplatesGeneratorCreatesMessageTemplatesGenerator.MultiParamTemplateGenerator.The generator is used to create messages based on a single template and multiple set of parameters. The result of the generation is a list of templates filled with different parameters.
Example of multi param template generation:generateMultiParamTemplate() .withTemplateCode("my-template") .addParams(Map.of( "username", "admin", "firstName", "John", "lastName", "Doe" )) .addParams(Map.of( "username", "user", "firstName", "Mary", "lastName", "Smith" )) .generate();- Specified by:
generateMultiParamTemplatein interfaceMessageTemplatesGenerator- Returns:
MessageTemplatesGenerator.MultiTemplateGenerator
-
generateMessage
Description copied from interface:MessageTemplatesGeneratorGenerates a message based on the passedMessageTemplateand parameters map.- Specified by:
generateMessagein interfaceMessageTemplatesGenerator- Parameters:
template- template for generationparameters- parameters for generation- Returns:
- template filled with parameters
-
generateMessageInternal
protected String generateMessageInternal(MessageTemplate template, Map<String, Object> parameters, freemarker.template.Configuration configuration) -
generateMessage
Description copied from interface:MessageTemplatesGeneratorGenerates a message based on the passed code ofMessageTemplateand parameters map.- Specified by:
generateMessagein interfaceMessageTemplatesGenerator- Parameters:
templateCode- code of template for generationparameters- parameters for generation- Returns:
- template filled with parameters
-
generateMessagesByTemplates
protected List<String> generateMessagesByTemplates(Collection<MessageTemplate> templates, Map<String, Object> parameters, freemarker.template.Configuration configuration) -
getMessageTemplateByCode
-
getHtmlTemplate
protected freemarker.template.Template getHtmlTemplate(MessageTemplate template, freemarker.template.Configuration configuration)
-