Class AmountPrinterParser
- All Implemented Interfaces:
Serializable
,MoneyParser
,MoneyPrinter
This class is immutable and thread-safe.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
Serialization version.private final MoneyAmountStyle
The style to use. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
isPostGroupingPoint
(int i, int post, int groupingSize, int extendedGroupingSize) private boolean
isPreGroupingPoint
(int remaining, int groupingSize, int extendedGroupingSize) void
parse
(MoneyParseContext context) Parses monetary information using a textual representation.void
print
(MoneyPrintContext context, Appendable appendable, BigMoney money) Prints part of a monetary value to the output appendable.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version.- See Also:
-
style
The style to use.
-
-
Constructor Details
-
AmountPrinterParser
AmountPrinterParser(MoneyAmountStyle style) Constructor.- Parameters:
style
- the style, not null
-
-
Method Details
-
print
public void print(MoneyPrintContext context, Appendable appendable, BigMoney money) throws IOException Description copied from interface:MoneyPrinter
Prints part of a monetary value to the output appendable.The implementation determines what to append, which may be some or all of the data held in the
BigMoney
.The context is not a thread-safe object and a new instance will be created for each print. The context must not be stored in an instance variable or shared with any other threads.
- Specified by:
print
in interfaceMoneyPrinter
- Parameters:
context
- the context being used, not nullappendable
- the appendable to add to, not nullmoney
- the money to print, not null- Throws:
IOException
- if an IO exception occurs
-
isPreGroupingPoint
private boolean isPreGroupingPoint(int remaining, int groupingSize, int extendedGroupingSize) -
isPostGroupingPoint
private boolean isPostGroupingPoint(int i, int post, int groupingSize, int extendedGroupingSize) -
parse
Description copied from interface:MoneyParser
Parses monetary information using a textual representation.The text and parse index are stored in the context. The parsed data and updated index is also stored in the context.
Implementations should avoid throwing exceptions and use the error index in the context instead to record the problem. The context can be assumed to not be in error on entry to this method.
The context is not a thread-safe object and a new instance will be created for each parse. The context must not be stored in an instance variable or shared with any other threads.
- Specified by:
parse
in interfaceMoneyParser
- Parameters:
context
- the context to use and parse into, not null
-
toString
-