Package javax.time.calendar.format
Class TextPrinterParser
- java.lang.Object
-
- javax.time.calendar.format.TextPrinterParser
-
- All Implemented Interfaces:
DateTimeParser
,DateTimePrinter
final class TextPrinterParser extends java.lang.Object implements DateTimePrinter, DateTimeParser
Prints or parses field text.TextPrinterParser is immutable and thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private NumberPrinterParser
numberPrinterParser
The cached number printer parser.private DateTimeFieldRule<?>
rule
The rule to output, not null.private DateTimeFormatterBuilder.TextStyle
textStyle
The text style, not null.
-
Constructor Summary
Constructors Constructor Description TextPrinterParser(DateTimeFieldRule<?> rule, DateTimeFormatterBuilder.TextStyle textStyle)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isPrintDataAvailable(Calendrical calendrical)
Checks if the calendrical contains the data necessary to be printed.private NumberPrinterParser
numberPrinterParser()
Create and cache a number printer parser.int
parse(DateTimeParseContext context, java.lang.String parseText, int position)
Parses from the supplied text and position into the calendrical.void
print(Calendrical calendrical, java.lang.Appendable appendable, DateTimeFormatSymbols symbols)
Prints the calendrical object to the appendable.java.lang.String
toString()
-
-
-
Field Detail
-
rule
private final DateTimeFieldRule<?> rule
The rule to output, not null.
-
textStyle
private final DateTimeFormatterBuilder.TextStyle textStyle
The text style, not null.
-
numberPrinterParser
private volatile NumberPrinterParser numberPrinterParser
The cached number printer parser. Immutable and volatile, so no synchronization needed.
-
-
Constructor Detail
-
TextPrinterParser
TextPrinterParser(DateTimeFieldRule<?> rule, DateTimeFormatterBuilder.TextStyle textStyle)
Constructor.- Parameters:
rule
- the rule to output, not nulltextStyle
- the text style, not null
-
-
Method Detail
-
print
public void print(Calendrical calendrical, java.lang.Appendable appendable, DateTimeFormatSymbols symbols) throws java.io.IOException
Prints the calendrical object to the appendable.- Specified by:
print
in interfaceDateTimePrinter
- Parameters:
calendrical
- the calendrical to print, not nullappendable
- the appendable to add to, not nullsymbols
- the formatting symbols to use, not null- Throws:
java.io.IOException
- if the append throws an exception
-
isPrintDataAvailable
public boolean isPrintDataAvailable(Calendrical calendrical)
Checks if the calendrical contains the data necessary to be printed.The implementation should not check the validity of the data, just whether there is sufficient data to attempt a print.
- Specified by:
isPrintDataAvailable
in interfaceDateTimePrinter
- Parameters:
calendrical
- the calendrical to check, not null- Returns:
- true if the calendrical can be printed, false if not
-
parse
public int parse(DateTimeParseContext context, java.lang.String parseText, int position)
Parses from the supplied text and position into the calendrical.- Specified by:
parse
in interfaceDateTimeParser
- Parameters:
context
- the context to use and parse into, not nullparseText
- the input text to parse, not nullposition
- the position to start parsing at, from 0 to the text length- Returns:
- the new parse position, where negative means an error with the error position encoded using the complement ~ operator
-
numberPrinterParser
private NumberPrinterParser numberPrinterParser()
Create and cache a number printer parser.- Returns:
- the number printer parser for this field, never null
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-