Package org.joda.time.format
Class DateTimeFormatterBuilder.Composite
- java.lang.Object
-
- org.joda.time.format.DateTimeFormatterBuilder.Composite
-
- All Implemented Interfaces:
InternalParser
,InternalPrinter
- Enclosing class:
- DateTimeFormatterBuilder
static class DateTimeFormatterBuilder.Composite extends java.lang.Object implements InternalPrinter, InternalParser
-
-
Field Summary
Fields Modifier and Type Field Description private int
iParsedLengthEstimate
private InternalParser[]
iParsers
private int
iPrintedLengthEstimate
private InternalPrinter[]
iPrinters
-
Constructor Summary
Constructors Constructor Description Composite(java.util.List<java.lang.Object> elementPairs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addArrayToList(java.util.List<java.lang.Object> list, java.lang.Object[] array)
private void
decompose(java.util.List<java.lang.Object> elementPairs, java.util.List<java.lang.Object> printerList, java.util.List<java.lang.Object> parserList)
Processes the element pairs, putting results into the given printer and parser lists.int
estimateParsedLength()
Returns the expected maximum number of characters consumed.int
estimatePrintedLength()
Returns the expected maximum number of characters produced.(package private) boolean
isParser()
(package private) boolean
isPrinter()
int
parseInto(DateTimeParserBucket bucket, java.lang.CharSequence text, int position)
Parse an element from the given text, saving any fields into the given DateTimeParserBucket.void
printTo(java.lang.Appendable appendable, long instant, Chronology chrono, int displayOffset, DateTimeZone displayZone, java.util.Locale locale)
Prints an instant from milliseconds since 1970-01-01T00:00:00Z, using the given Chronology.void
printTo(java.lang.Appendable appendable, ReadablePartial partial, java.util.Locale locale)
Prints a ReadablePartial.
-
-
-
Field Detail
-
iPrinters
private final InternalPrinter[] iPrinters
-
iParsers
private final InternalParser[] iParsers
-
iPrintedLengthEstimate
private final int iPrintedLengthEstimate
-
iParsedLengthEstimate
private final int iParsedLengthEstimate
-
-
Method Detail
-
estimatePrintedLength
public int estimatePrintedLength()
Description copied from interface:InternalPrinter
Returns the expected maximum number of characters produced. The actual amount should rarely exceed this estimate.- Specified by:
estimatePrintedLength
in interfaceInternalPrinter
- Returns:
- the estimated length
-
printTo
public void printTo(java.lang.Appendable appendable, long instant, Chronology chrono, int displayOffset, DateTimeZone displayZone, java.util.Locale locale) throws java.io.IOException
Description copied from interface:InternalPrinter
Prints an instant from milliseconds since 1970-01-01T00:00:00Z, using the given Chronology.- Specified by:
printTo
in interfaceInternalPrinter
- Parameters:
appendable
- formatted instant is appended to, not nullinstant
- millis since 1970-01-01T00:00:00Zchrono
- the chronology to use, not nulldisplayOffset
- if a time zone offset is printed, force it to use this millisecond valuedisplayZone
- the time zone to use, null means local timelocale
- the locale to use, null means default locale- Throws:
java.io.IOException
-
printTo
public void printTo(java.lang.Appendable appendable, ReadablePartial partial, java.util.Locale locale) throws java.io.IOException
Description copied from interface:InternalPrinter
Prints a ReadablePartial.- Specified by:
printTo
in interfaceInternalPrinter
- Parameters:
appendable
- formatted instant is appended to, not nullpartial
- partial to format, not nulllocale
- the locale to use, null means default locale- Throws:
java.io.IOException
-
estimateParsedLength
public int estimateParsedLength()
Description copied from interface:InternalParser
Returns the expected maximum number of characters consumed. The actual amount should rarely exceed this estimate.- Specified by:
estimateParsedLength
in interfaceInternalParser
- Returns:
- the estimated length
-
parseInto
public int parseInto(DateTimeParserBucket bucket, java.lang.CharSequence text, int position)
Description copied from interface:InternalParser
Parse an element from the given text, saving any fields into the given DateTimeParserBucket. If the parse succeeds, the return value is the new text position. Note that the parse may succeed without fully reading the text.If it fails, the return value is negative. To determine the position where the parse failed, apply the one's complement operator (~) on the return value.
- Specified by:
parseInto
in interfaceInternalParser
- Parameters:
bucket
- field are saved into this, not nulltext
- the text to parse, not nullposition
- position to start parsing from- Returns:
- new position, negative value means parse failed - apply complement operator (~) to get position of failure
-
isPrinter
boolean isPrinter()
-
isParser
boolean isParser()
-
decompose
private void decompose(java.util.List<java.lang.Object> elementPairs, java.util.List<java.lang.Object> printerList, java.util.List<java.lang.Object> parserList)
Processes the element pairs, putting results into the given printer and parser lists.
-
addArrayToList
private void addArrayToList(java.util.List<java.lang.Object> list, java.lang.Object[] array)
-
-