Class 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 Detail

      • MessageTemplate4

        public MessageTemplate4​(String messageKey,
                                String defaultMessage)
    • Method Detail

      • 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