Package org.docx4j.model.fields
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 Summary
Fields Modifier and Type Field Description protected static java.util.Map<java.lang.String,java.lang.String>DATE_FORMAT_ITEMS_TO_JAVAprotected static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.text.SimpleDateFormat>>DATE_FORMATSstatic intDECORATION_DASHstatic intDECORATION_NONEprotected static java.lang.StringDEFAULT_FORMAT_PAGE_TO_FOConversion of page number formats to fo as defined in w:fldSimple in w:pgNumType w:fmtprotected static java.lang.StringFO_PAGENUMBER_DECIMALprotected static java.lang.StringFO_PAGENUMBER_LOWERALPHAprotected static java.lang.StringFO_PAGENUMBER_LOWERROMANprotected static java.lang.StringFO_PAGENUMBER_UPPERALPHAprotected static java.lang.StringFO_PAGENUMBER_UPPERROMANprotected static java.util.Map<java.lang.String,java.lang.String>FORMAT_PAGE_TO_FOprotected static java.lang.StringMERGEFORMATprotected static java.lang.StringNONE_STRING -
Constructor Summary
Constructors Constructor Description FormattingSwitchHelper() -
Method Summary
Modifier and Type Method Description static java.lang.StringapplyFormattingSwitch(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value)static java.lang.StringapplyFormattingSwitch(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value, java.lang.String lang)static java.lang.StringconvertDatePattern(java.lang.String wordDatePattern)static java.util.List<java.lang.String>findAllSwitchValues(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters)static java.lang.StringfindFirstSwitchValue(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters, boolean ignoreMergeformat)static intfindSwitch(java.lang.String switchDef, int startPos, java.util.List<java.lang.String> fldParameters)static java.lang.StringformatDate(FldSimpleModel model)static java.lang.StringformatDate(FldSimpleModel model, java.lang.String format, java.util.Date date)static java.lang.StringformatDate(FldSimpleModel model, java.util.Date date)static java.lang.StringgetFldSimpleName(java.lang.String instr)static intgetFoPageNumberDecoration(java.lang.String wordName)Check if the page number format has a decoration (eg.static java.lang.StringgetFoPageNumberFormat(java.lang.String wordName)Conversion of the word page number format to the fo page number format.static java.lang.StringgetSwitchValue(int pos, java.util.List<java.lang.String> fldParameters)static booleanhasSwitch(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters)
-
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_FOConversion 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
-
formatDate
-
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)
-