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 TypeClassDescriptionclass
class
class
Nested classes/interfaces inherited from interface io.jmix.messagetemplates.MessageTemplatesGenerator
MessageTemplatesGenerator.MultiParamTemplateGenerator, MessageTemplatesGenerator.MultiTemplateGenerator, MessageTemplatesGenerator.SingleTemplateGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataManager
protected freemarker.template.Configuration
protected freemarker.template.Version
protected freemarker.template.ObjectWrapper
-
Constructor Summary
ConstructorsConstructorDescriptionMessageTemplatesGeneratorImpl
(DataManager dataManager, MessageTemplateProperties messageTemplateProperties) -
Method Summary
Modifier and TypeMethodDescriptionvoid
generateMessage
(MessageTemplate template, Map<String, Object> parameters) Generates a message based on the passedMessageTemplate
and parameters map.generateMessage
(String templateCode, Map<String, Object> parameters) Generates a message based on the passed code ofMessageTemplate
and parameters map.protected String
generateMessageInternal
(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.Template
getHtmlTemplate
(MessageTemplate template, freemarker.template.Configuration configuration) protected MessageTemplate
getMessageTemplateByCode
(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:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
generateSingleTemplate
Description copied from interface:MessageTemplatesGenerator
CreatesMessageTemplatesGenerator.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:
generateSingleTemplate
in interfaceMessageTemplatesGenerator
- Returns:
MessageTemplatesGenerator.SingleTemplateGenerator
-
generateMultiTemplate
Description copied from interface:MessageTemplatesGenerator
CreatesMessageTemplatesGenerator.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:
generateMultiTemplate
in interfaceMessageTemplatesGenerator
- Returns:
MessageTemplatesGenerator.MultiTemplateGenerator
-
generateMultiParamTemplate
Description copied from interface:MessageTemplatesGenerator
CreatesMessageTemplatesGenerator.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:
generateMultiParamTemplate
in interfaceMessageTemplatesGenerator
- Returns:
MessageTemplatesGenerator.MultiTemplateGenerator
-
generateMessage
Description copied from interface:MessageTemplatesGenerator
Generates a message based on the passedMessageTemplate
and parameters map.- Specified by:
generateMessage
in 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:MessageTemplatesGenerator
Generates a message based on the passed code ofMessageTemplate
and parameters map.- Specified by:
generateMessage
in 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)
-