Class MessageTemplate4<PARAM_1,PARAM_2,PARAM_3,PARAM_4>

java.lang.Object
dk.cloudcreate.essentials.shared.messages.AbstractMessageTemplate
dk.cloudcreate.essentials.shared.messages.MessageTemplate4<PARAM_1,PARAM_2,PARAM_3,PARAM_4>
All Implemented Interfaces:
MessageTemplate

public class MessageTemplate4<PARAM_1,PARAM_2,PARAM_3,PARAM_4> extends AbstractMessageTemplate
Represents a MessageTemplate accepting 4 parameters
Example defining a MessageTemplate4's:

 // Has key: "ESSENTIALS"
 MessageTemplate0 ROOT = MessageTemplates.root("ESSENTIALS");

 // Has key: "ESSENTIALS.ACCOUNT_OVERDRAWN"
 MessageTemplate4<String, BigDecimal, BigDecimal, LocalDate> ACCOUNT_OVERDRAWN = ROOT.key4("ACCOUNT_OVERDRAWN",
                                                                                           "Account {0} is overdrawn by ${1}. A fee of ${2} will be debited on the {3}");
 

Example creating a Message from a MessageTemplate4:


 MessageTemplate4<String, BigDecimal, BigDecimal, LocalDate> ACCOUNT_OVERDRAWN = ROOT.key4("ACCOUNT_OVERDRAWN",
                                                                                           "Account {0} is overdrawn by ${1}. A fee of ${2} will be debited on the {3}");

 String accountId = "Account1";
 BigDecimal overdrawnAmount = new BigDecimal("125");
 BigDecimal feeAmount = new BigDecimal("10");
 LocalDate  feeDebitDate =  LocalDate.of(2023, 2, 25);
 Message msg = ACCOUNT_OVERDRAWN.create(accountId,
                                        overdrawnAmount,
                                        feeAmount,
                                        feeDebitDate);

 
will create a Message with Message.getMessage(): "Account Account1 is overdrawn by $125. A fee of $10 will be debited on the 2023-2-25" (date formatting is dependent on the Locale)
  • Constructor Details

    • MessageTemplate4

      public MessageTemplate4(String messageKey, String defaultMessage)
  • Method Details

    • create

      public Message create(PARAM_1 param1, PARAM_2 param2, PARAM_3 param3, PARAM_4 param4)
      Create a Message, with the provided parameter, based on this MessageTemplate
      Example creating a Message from a MessageTemplate4:
      
       MessageTemplate4<String, BigDecimal, BigDecimal, LocalDate> ACCOUNT_OVERDRAWN = ROOT.key4("ACCOUNT_OVERDRAWN",
                                                                                                 "Account {0} is overdrawn by ${1}. A fee of ${2} will be debited on the {3}");
      
       String accountId = "Account1";
       BigDecimal overdrawnAmount = new BigDecimal("125");
       BigDecimal feeAmount = new BigDecimal("10");
       LocalDate  feeDebitDate =  LocalDate.of(2023, 2, 25);
       Message msg = ACCOUNT_OVERDRAWN.create(accountId,
                                              overdrawnAmount,
                                              feeAmount,
                                              feeDebitDate);
      
       
      will create a Message with Message.getMessage(): "Account Account1 is overdrawn by $125. A fee of $10 will be debited on the 2023-2-25" (date formatting is dependent on the Locale)
      Parameters:
      param1 - the parameter with index 0 in the generated Message.getMessage()
      param2 - the parameter with index 1 in the generated Message.getMessage()
      param3 - the parameter with index 2 in the generated Message.getMessage()
      param3 - the parameter with index 3 in the generated Message.getMessage()
      Returns:
      the new Message with the parameter applied