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_JAVA
protected static java.lang.ThreadLocal<java.util.Map<java.lang.String,java.text.SimpleDateFormat>>
DATE_FORMATS
static int
DECORATION_DASH
static int
DECORATION_NONE
protected static java.lang.String
DEFAULT_FORMAT_PAGE_TO_FO
Conversion of page number formats to fo as defined in w:fldSimple in w:pgNumType w:fmtprotected static java.lang.String
FO_PAGENUMBER_DECIMAL
protected static java.lang.String
FO_PAGENUMBER_LOWERALPHA
protected static java.lang.String
FO_PAGENUMBER_LOWERROMAN
protected static java.lang.String
FO_PAGENUMBER_UPPERALPHA
protected static java.lang.String
FO_PAGENUMBER_UPPERROMAN
protected static java.util.Map<java.lang.String,java.lang.String>
FORMAT_PAGE_TO_FO
protected static java.lang.String
MERGEFORMAT
protected static java.lang.String
NONE_STRING
-
Constructor Summary
Constructors Constructor Description FormattingSwitchHelper()
-
Method Summary
Modifier and Type Method Description static java.lang.String
applyFormattingSwitch(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value)
static java.lang.String
applyFormattingSwitch(WordprocessingMLPackage wmlPackage, FldSimpleModel model, java.lang.String value, java.lang.String lang)
static java.lang.String
convertDatePattern(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.String
findFirstSwitchValue(java.lang.String switchDef, java.util.List<java.lang.String> fldParameters, boolean ignoreMergeformat)
static int
findSwitch(java.lang.String switchDef, int startPos, java.util.List<java.lang.String> fldParameters)
static java.lang.String
formatDate(FldSimpleModel model)
static java.lang.String
formatDate(FldSimpleModel model, java.lang.String format, java.util.Date date)
static java.lang.String
formatDate(FldSimpleModel model, java.util.Date date)
static java.lang.String
getFldSimpleName(java.lang.String instr)
static int
getFoPageNumberDecoration(java.lang.String wordName)
Check if the page number format has a decoration (eg.static java.lang.String
getFoPageNumberFormat(java.lang.String wordName)
Conversion of the word page number format to the fo page number format.static java.lang.String
getSwitchValue(int pos, java.util.List<java.lang.String> fldParameters)
static boolean
hasSwitch(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)
-