Package org.apache.log4j.pattern
Class PatternParser
- java.lang.Object
-
- org.apache.log4j.pattern.PatternParser
-
public final class PatternParser extends java.lang.Object
Most of the work of theEnhancedPatternLayout
class is delegated to the PatternParser class.It is this class that parses conversion patterns and creates a chained list of
PatternConverters
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PatternParser.ReadOnlyMap
The class wraps another Map but throws exceptions on any attempt to modify the map.
-
Field Summary
Fields Modifier and Type Field 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.
-
Constructor Summary
Constructors Modifier Constructor Description private
PatternParser()
Private constructor.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Field Detail
-
ESCAPE_CHAR
private static final char ESCAPE_CHAR
Escape character for format specifier.- See Also:
- Constant Field Values
-
LITERAL_STATE
private static final int LITERAL_STATE
Literal state.- See Also:
- Constant Field Values
-
CONVERTER_STATE
private static final int CONVERTER_STATE
In converter name state.- See Also:
- Constant Field Values
-
DOT_STATE
private static final int DOT_STATE
Dot state.- See Also:
- Constant Field Values
-
MIN_STATE
private static final int MIN_STATE
Min state.- See Also:
- Constant Field Values
-
MAX_STATE
private static final int MAX_STATE
Max state.- See Also:
- Constant Field Values
-
PATTERN_LAYOUT_RULES
private static final java.util.Map PATTERN_LAYOUT_RULES
Standard format specifiers for EnhancedPatternLayout.
-
FILENAME_PATTERN_RULES
private static final java.util.Map FILENAME_PATTERN_RULES
Standard format specifiers for rolling file appenders.
-
-
Method Detail
-
getPatternLayoutRules
public static java.util.Map getPatternLayoutRules()
Get standard format specifiers for EnhancedPatternLayout.- Returns:
- read-only map of format converter classes keyed by format specifier strings.
-
getFileNamePatternRules
public static java.util.Map getFileNamePatternRules()
Get standard format specifiers for rolling file appender file specification.- Returns:
- read-only map of format converter classes keyed by format specifier strings.
-
extractConverter
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. After this function returns, the variable i will point to the first char after the end of the converter identifier. If i points to a char which is not a character acceptable at the start of a unicode identifier, the value null is returned.- Parameters:
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.- Returns:
- position in pattern after converter.
-
extractOptions
private static int extractOptions(java.lang.String pattern, int i, java.util.List options)
Extract options.- Parameters:
pattern
- conversion pattern.i
- start of options.options
- array to receive extracted options- Returns:
- position in pattern after options.
-
parse
public 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.- Parameters:
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.
-
createConverter
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.- Parameters:
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.- Returns:
- converter or null.
-
finalizeConverter
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.- Parameters:
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.- Returns:
- position after format specifier sequence.
-
-