Class CurrentDatePlaceholderPopulator

java.lang.Object
com.itextpdf.commons.actions.producer.AbstractFormattedPlaceholderPopulator
com.itextpdf.commons.actions.producer.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 Details

    • ALLOWED_PATTERNS

      private static final Set<String> ALLOWED_PATTERNS
  • Constructor Details

    • CurrentDatePlaceholderPopulator

      public CurrentDatePlaceholderPopulator()
  • Method Details

    • populate

      public String populate(List<ConfirmedEventWrapper> events, 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:
      IllegalArgumentException - if format of the date pattern is invalid
    • formatDate

      private String formatDate(Date date, String format)
    • processDateComponent

      private int processDateComponent(int index, Date date, StringBuilder builder, char[] formatArray)