Class FormattingSwitchHelper

java.lang.Object
org.docx4j.model.fields.FormattingSwitchHelper

public class FormattingSwitchHelper
extends java.lang.Object
Formats the string value of the field according to the three possible formatting switches: + date-and-time-formatting-switch: \@ + numeric-formatting-switch: \# + general-formatting-switch: \* Note that the general-formatting-switch arguments CHARFORMAT and MERGEFORMAT are not handled here. It is the responsibility of the calling code to handle these.
Author:
alberto, jharrop
  • Field Details

    • DATE_FORMATS

      protected static final java.lang.ThreadLocal<java.util.Map<java.lang.String,​java.text.SimpleDateFormat>> DATE_FORMATS
    • DEFAULT_FORMAT_PAGE_TO_FO

      protected static final java.lang.String DEFAULT_FORMAT_PAGE_TO_FO
      Conversion of page number formats to fo as defined
      • in w:fldSimple
      • in w:pgNumType w:fmt
      See Also:
      Constant Field Values
    • NONE_STRING

      protected static final java.lang.String NONE_STRING
    • FORMAT_PAGE_TO_FO

      protected static final java.util.Map<java.lang.String,​java.lang.String> FORMAT_PAGE_TO_FO
    • DECORATION_NONE

      public static final int DECORATION_NONE
      See Also:
      Constant Field Values
    • DECORATION_DASH

      public static final int DECORATION_DASH
      See Also:
      Constant Field Values
    • MERGEFORMAT

      protected static final java.lang.String MERGEFORMAT
      See Also:
      Constant Field Values
    • FO_PAGENUMBER_DECIMAL

      protected static final java.lang.String FO_PAGENUMBER_DECIMAL
      See Also:
      Constant Field Values
    • FO_PAGENUMBER_LOWERALPHA

      protected static final java.lang.String FO_PAGENUMBER_LOWERALPHA
      See Also:
      Constant Field Values
    • FO_PAGENUMBER_UPPERALPHA

      protected static final java.lang.String FO_PAGENUMBER_UPPERALPHA
      See Also:
      Constant Field Values
    • FO_PAGENUMBER_LOWERROMAN

      protected static final java.lang.String FO_PAGENUMBER_LOWERROMAN
      See Also:
      Constant Field Values
    • FO_PAGENUMBER_UPPERROMAN

      protected static final java.lang.String FO_PAGENUMBER_UPPERROMAN
      See Also:
      Constant Field Values
    • DATE_FORMAT_ITEMS_TO_JAVA

      protected static final java.util.Map<java.lang.String,​java.lang.String> DATE_FORMAT_ITEMS_TO_JAVA
  • Constructor Details

    • FormattingSwitchHelper

      public FormattingSwitchHelper()
  • Method Details

    • applyFormattingSwitch

      public static java.lang.String applyFormattingSwitch​(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value) throws Docx4JException
      Throws:
      Docx4JException
    • applyFormattingSwitch

      public static java.lang.String applyFormattingSwitch​(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value, java.lang.String lang) throws Docx4JException
      Throws:
      Docx4JException
    • getFoPageNumberFormat

      public static java.lang.String getFoPageNumberFormat​(java.lang.String wordName)
      Conversion of the word page number format to the fo page number format.
      Parameters:
      wordName - word page number format
      Returns:
      null if the wordName is null, the correspondig fo value if present or a default.
    • getFoPageNumberDecoration

      public static int getFoPageNumberDecoration​(java.lang.String wordName)
      Check if the page number format has a decoration (eg. dash).
      Parameters:
      wordName - word page number format
      Returns:
      decoration type (one of the DECORATION_xxx constants).
    • getFldSimpleName

      public static java.lang.String getFldSimpleName​(java.lang.String instr)
    • convertDatePattern

      public static java.lang.String convertDatePattern​(java.lang.String wordDatePattern)
    • formatDate

      public static java.lang.String formatDate​(FldSimpleModel model)
    • formatDate

      public static java.lang.String formatDate​(FldSimpleModel model, java.util.Date date)
    • formatDate

      public static java.lang.String formatDate​(FldSimpleModel model, java.lang.String format, java.util.Date date)
    • hasSwitch

      public static boolean hasSwitch​(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters)
    • findFirstSwitchValue

      public static java.lang.String findFirstSwitchValue​(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters, boolean ignoreMergeformat)
    • getSwitchValue

      public static java.lang.String getSwitchValue​(int pos, java.util.List<java.lang.String> fldParameters)
    • findAllSwitchValues

      public static java.util.List<java.lang.String> findAllSwitchValues​(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters)
    • findSwitch

      public static int findSwitch​(java.lang.String switchDef, int startPos, java.util.List<java.lang.String> fldParameters)