Package javax.time.calendar.format
Class PadPrinterParserDecorator
- java.lang.Object
-
- javax.time.calendar.format.PadPrinterParserDecorator
-
- All Implemented Interfaces:
DateTimeParser
,DateTimePrinter
final class PadPrinterParserDecorator extends java.lang.Object implements DateTimePrinter, DateTimeParser
Pads the output to a fixed width.PadPrinterParserDecorator is immutable and thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private char
padChar
The character to pad the next field with.private int
padWidth
The width to pad the next field to.private DateTimeParser
parser
The parser to decorate.private DateTimePrinter
printer
The printer to decorate.
-
Constructor Summary
Constructors Constructor Description PadPrinterParserDecorator(DateTimePrinter printer, DateTimeParser parser, int padWidth, char padChar)
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.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
-
printer
private final DateTimePrinter printer
The printer to decorate.
-
parser
private final DateTimeParser parser
The parser to decorate.
-
padWidth
private final int padWidth
The width to pad the next field to.
-
padChar
private final char padChar
The character to pad the next field with.
-
-
Constructor Detail
-
PadPrinterParserDecorator
PadPrinterParserDecorator(DateTimePrinter printer, DateTimeParser parser, int padWidth, char padChar)
Constructor.- Parameters:
printer
- the printer, may be null in which case print() must not be calledparser
- the parser, may be null in which case parse() must not be calledpadWidth
- the width to pad to, 1 or greaterpadChar
- the pad character
-
-
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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-