public final class PatternParser
extends java.lang.Object
EnhancedPatternLayout
class
is delegated to the PatternParser class.
It is this class that parses conversion patterns and creates
a chained list of PatternConverters
.
Modifier and Type | Class and Description |
---|---|
private static class |
PatternParser.ReadOnlyMap
The class wraps another Map but throws exceptions on any attempt to modify the map.
|
Modifier and Type | Field and Description |
---|---|
private static int |
CONVERTER_STATE
In converter name state.
|
private static int |
DOT_STATE
Dot state.
|
private static char |
ESCAPE_CHAR
Escape character for format specifier.
|
private static java.util.Map |
FILENAME_PATTERN_RULES
Standard format specifiers for rolling file appenders.
|
private static int |
LITERAL_STATE
Literal state.
|
private static int |
MAX_STATE
Max state.
|
private static int |
MIN_STATE
Min state.
|
private static java.util.Map |
PATTERN_LAYOUT_RULES
Standard format specifiers for EnhancedPatternLayout.
|
Modifier | Constructor and Description |
---|---|
private |
PatternParser()
Private constructor.
|
Modifier and Type | Method and Description |
---|---|
private static PatternConverter |
createConverter(java.lang.String converterId,
java.lang.StringBuffer currentLiteral,
java.util.Map converterRegistry,
java.util.Map rules,
java.util.List options)
Creates a new PatternConverter.
|
private static int |
extractConverter(char lastChar,
java.lang.String pattern,
int i,
java.lang.StringBuffer convBuf,
java.lang.StringBuffer currentLiteral)
Extract the converter identifier found at position i.
|
private static int |
extractOptions(java.lang.String pattern,
int i,
java.util.List options)
Extract options.
|
private static int |
finalizeConverter(char c,
java.lang.String pattern,
int i,
java.lang.StringBuffer currentLiteral,
FormattingInfo formattingInfo,
java.util.Map converterRegistry,
java.util.Map rules,
java.util.List patternConverters,
java.util.List formattingInfos)
Processes a format specifier sequence.
|
static java.util.Map |
getFileNamePatternRules()
Get standard format specifiers for rolling file appender file specification.
|
static java.util.Map |
getPatternLayoutRules()
Get standard format specifiers for EnhancedPatternLayout.
|
static void |
parse(java.lang.String pattern,
java.util.List patternConverters,
java.util.List formattingInfos,
java.util.Map converterRegistry,
java.util.Map rules)
Parse a format specifier.
|
private static final char ESCAPE_CHAR
private static final int LITERAL_STATE
private static final int CONVERTER_STATE
private static final int DOT_STATE
private static final int MIN_STATE
private static final int MAX_STATE
private static final java.util.Map PATTERN_LAYOUT_RULES
private static final java.util.Map FILENAME_PATTERN_RULES
public static java.util.Map getPatternLayoutRules()
public static java.util.Map getFileNamePatternRules()
private static int extractConverter(char lastChar, java.lang.String pattern, int i, java.lang.StringBuffer convBuf, java.lang.StringBuffer currentLiteral)
lastChar
- last processed character.pattern
- format string.i
- current index into pattern format.convBuf
- buffer to receive conversion specifier.currentLiteral
- literal to be output in case format specifier in unrecognized.private static int extractOptions(java.lang.String pattern, int i, java.util.List options)
pattern
- conversion pattern.i
- start of options.options
- array to receive extracted optionspublic static void parse(java.lang.String pattern, java.util.List patternConverters, java.util.List formattingInfos, java.util.Map converterRegistry, java.util.Map rules)
pattern
- pattern to parse.patternConverters
- list to receive pattern converters.formattingInfos
- list to receive field specifiers corresponding to pattern converters.converterRegistry
- map of user-supported pattern converters keyed by format specifier, may be null.rules
- map of stock pattern converters keyed by format specifier.private static PatternConverter createConverter(java.lang.String converterId, java.lang.StringBuffer currentLiteral, java.util.Map converterRegistry, java.util.Map rules, java.util.List options)
converterId
- converterId.currentLiteral
- literal to be used if converter is unrecognized or following converter
if converterId contains extra characters.converterRegistry
- map of user-supported pattern converters keyed by format specifier, may be null.rules
- map of stock pattern converters keyed by format specifier.options
- converter options.private static int finalizeConverter(char c, java.lang.String pattern, int i, java.lang.StringBuffer currentLiteral, FormattingInfo formattingInfo, java.util.Map converterRegistry, java.util.Map rules, java.util.List patternConverters, java.util.List formattingInfos)
c
- initial character of format specifier.pattern
- conversion patterni
- current position in conversion pattern.currentLiteral
- current literal.formattingInfo
- current field specifier.converterRegistry
- map of user-provided pattern converters keyed by format specifier, may be null.rules
- map of stock pattern converters keyed by format specifier.patternConverters
- list to receive parsed pattern converter.formattingInfos
- list to receive corresponding field specifier.