private static int finalizeConverter ( char c , String pattern , int i , final StringBuffer currentLiteral , final ExtrasFormattingInfo formattingInfo , final Map converterRegistry , final Map rules , final List patternConverters , final List formattingInfos ) { StringBuffer convBuf = new StringBuffer ( ) ; i = extractConverter ( c , pattern , i , convBuf , currentLiteral ) ; String converterId = convBuf . toString ( ) ; List options = new ArrayList ( ) ; i = extractOptions ( pattern , i , options ) ; PatternConverter pc = createConverter ( converterId , currentLiteral , converterRegistry , rules , options ) ; if ( pc == null ) { StringBuffer msg ; if ( converterId . length ( ) == 0 ) { msg = new StringBuffer ( "Empty conversion specifier starting at position " ) ; } else { msg = new StringBuffer ( "Unrecognized conversion specifier [" ) ; msg . append ( converterId ) ; msg . append ( "] starting at position " ) ; } msg . append ( Integer . toString ( i ) ) ; msg . append ( " in conversion pattern." ) ; LogLog . error ( msg . toString ( ) ) ; patternConverters . add ( new LiteralPatternConverter ( currentLiteral . toString ( ) ) ) ; formattingInfos . add ( ExtrasFormattingInfo . getDefault ( ) ) ; } else { patternConverters . add ( pc ) ; formattingInfos . add ( formattingInfo ) ; if ( currentLiteral . length ( ) > 0 ) { patternConverters . add ( new LiteralPatternConverter ( currentLiteral . toString ( ) ) ) ; formattingInfos . add ( ExtrasFormattingInfo . getDefault ( ) ) ; } } currentLiteral . setLength ( 0 ) ; return i ; }
Processes a format specifier sequence .