Class LiteralPrinterParser

  • All Implemented Interfaces:
    java.io.Serializable, MoneyParser, MoneyPrinter

    final class LiteralPrinterParser
    extends java.lang.Object
    implements MoneyPrinter, MoneyParser, java.io.Serializable
    Prints and parses a literal.

    This class is immutable and thread-safe.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String literal
      Literal.
      private static long serialVersionUID
      Serialization version.
    • Constructor Summary

      Constructors 
      Constructor Description
      LiteralPrinterParser​(java.lang.String literal)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void parse​(MoneyParseContext context)
      Parses monetary information using a textual representation.
      void print​(MoneyPrintContext context, java.lang.Appendable appendable, BigMoney money)
      Prints part of a monetary value to the output appendable.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serialization version.
        See Also:
        Constant Field Values
      • literal

        private final java.lang.String literal
        Literal.
    • Constructor Detail

      • LiteralPrinterParser

        LiteralPrinterParser​(java.lang.String literal)
        Constructor.
        Parameters:
        literal - the literal text, not null
    • Method Detail

      • print

        public void print​(MoneyPrintContext context,
                          java.lang.Appendable appendable,
                          BigMoney money)
                   throws java.io.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 interface MoneyPrinter
        Parameters:
        context - the context being used, not null
        appendable - the appendable to add to, not null
        money - the money to print, not null
        Throws:
        java.io.IOException - if an IO exception occurs
      • parse

        public void parse​(MoneyParseContext context)
        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 interface MoneyParser
        Parameters:
        context - the context to use and parse into, not null
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object