Class PeriodFormat.DynamicWordBased

java.lang.Object
org.joda.time.format.PeriodFormat.DynamicWordBased
All Implemented Interfaces:
PeriodParser, PeriodPrinter
Enclosing class:
PeriodFormat

static class PeriodFormat.DynamicWordBased extends Object implements PeriodPrinter, PeriodParser
Printer/parser that reacts to the locale and changes the word-based pattern if necessary.
  • Field Details

    • iFormatter

      private final PeriodFormatter iFormatter
      The formatter with the locale selected at construction time.
  • Constructor Details

  • Method Details

    • countFieldsToPrint

      public int countFieldsToPrint(ReadablePeriod period, int stopAt, Locale locale)
      Description copied from interface: PeriodPrinter
      Returns the amount of fields from the given period that this printer will print.
      Specified by:
      countFieldsToPrint in interface PeriodPrinter
      Parameters:
      period - the period to use
      stopAt - stop counting at this value, enter a number ≥ 256 to count all
      locale - the locale to use
      Returns:
      amount of fields printed
    • calculatePrintedLength

      public int calculatePrintedLength(ReadablePeriod period, Locale locale)
      Description copied from interface: PeriodPrinter
      Returns the exact number of characters produced for the given period.
      Specified by:
      calculatePrintedLength in interface PeriodPrinter
      Parameters:
      period - the period to use
      locale - the locale to use
      Returns:
      the estimated length
    • printTo

      public void printTo(StringBuffer buf, ReadablePeriod period, Locale locale)
      Description copied from interface: PeriodPrinter
      Prints a ReadablePeriod to a StringBuffer.
      Specified by:
      printTo in interface PeriodPrinter
      Parameters:
      buf - the formatted period is appended to this buffer
      period - the period to format
      locale - the locale to use
    • printTo

      public void printTo(Writer out, ReadablePeriod period, Locale locale) throws IOException
      Description copied from interface: PeriodPrinter
      Prints a ReadablePeriod to a Writer.
      Specified by:
      printTo in interface PeriodPrinter
      Parameters:
      out - the formatted period is written out
      period - the period to format
      locale - the locale to use
      Throws:
      IOException - if an IO error occurs
    • getPrinter

      private PeriodPrinter getPrinter(Locale locale)
    • parseInto

      public int parseInto(ReadWritablePeriod period, String periodStr, int position, Locale locale)
      Description copied from interface: PeriodParser
      Parses a period from the given text, at the given position, saving the result into the fields of the given ReadWritablePeriod. 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, but the period may still be modified. To determine the position where the parse failed, apply the one's complement operator (~) on the return value.

      Specified by:
      parseInto in interface PeriodParser
      Parameters:
      period - a period that will be modified
      periodStr - text to parse
      position - position to start parsing from
      locale - the locale to use for parsing
      Returns:
      new position, if negative, parse failed. Apply complement operator (~) to get position of failure
    • getParser

      private PeriodParser getParser(Locale locale)