Class CurrentDatePlaceholderPopulator

  • All Implemented Interfaces:
    IPlaceholderPopulator

    class CurrentDatePlaceholderPopulator
    extends AbstractFormattedPlaceholderPopulator
    Class is used to populate currentDate placeholder. Placeholder should be configured with parameter defining the format of date output. Within format strings, unquoted letters from A to Z and from a to z are process as pattern letters. Chain of equal pattern letters forms an appropriate component of currentDate format. There following components are supported:

    • d is for the day of the month, from 1 through 31
    • dd is for the day of the month, from 01 through 31
    • M defines the month from 1 to 12
    • MM defines the month from 01 to 12
    • MMM defines the abbreviated name of the month
    • MMMM defines the full name of month
    • yy means the year from 00 to 99
    • yyyy means the year in for digits format
    • s shows current second, from 0 through 59
    • ss shows current second, from 00 through 59
    • m is replaced with the current minute from 0 to 59
    • mm is replaced with the current minute from 00 to 59
    • H stands for the current hour, using a 24-hour clock from 0 to 23
    • HH stands for the current hour, using a 24-hour clock from 00 to 23

    Text can be quoted using single quotes (') to avoid interpretation. All other characters are not interpreted and just copied into the output string. String may contain escaped apostrophes \' which processed as characters. Backslash is used for escaping so you need double backslash to print it \\. All the rest backslashes (not followed by apostrophe or one more backslash) are simply ignored.

    The result of the processing is current date representing in accordance with the provided format.

    • Field Detail

      • ALLOWED_PATTERNS

        private static final java.util.Set<java.lang.String> ALLOWED_PATTERNS
    • Constructor Detail

      • CurrentDatePlaceholderPopulator

        public CurrentDatePlaceholderPopulator()
    • Method Detail

      • populate

        public java.lang.String populate​(java.util.List<ConfirmedEventWrapper> events,
                                         java.lang.String parameter)
        Builds a replacement for a placeholder currentDate in accordance with the provided format.
        Parameters:
        events - is a list of event involved into document processing. It is not used during the placeholder replacement
        parameter - defines output format in accordance with the description
        Returns:
        date of producer line creation in accordance with defined format
        Throws:
        java.lang.IllegalArgumentException - if format of the date pattern is invalid
      • formatDate

        private java.lang.String formatDate​(java.util.Date date,
                                            java.lang.String format)
      • processDateComponent

        private int processDateComponent​(int index,
                                         java.util.Date date,
                                         java.lang.StringBuilder builder,
                                         char[] formatArray)