Class PeriodFormatterBuilder.FieldFormatter

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

static class PeriodFormatterBuilder.FieldFormatter extends Object implements PeriodPrinter, PeriodParser
Formats the numeric value of a field, potentially with prefix/suffix.
  • Field Details

    • iMinPrintedDigits

      private final int iMinPrintedDigits
    • iPrintZeroSetting

      private final int iPrintZeroSetting
    • iMaxParsedDigits

      private final int iMaxParsedDigits
    • iRejectSignedValues

      private final boolean iRejectSignedValues
    • iFieldType

      private final int iFieldType
      The index of the field type, 0=year, etc.
    • iFieldFormatters

      private final PeriodFormatterBuilder.FieldFormatter[] iFieldFormatters
      The array of the latest formatter added for each type. This is shared between all the field formatters in a formatter.
    • iPrefix

    • iSuffix

  • Constructor Details

  • Method Details

    • finish

      public void finish(PeriodFormatterBuilder.FieldFormatter[] fieldFormatters)
    • 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
    • parseInto

      public int parseInto(ReadWritablePeriod period, String text, 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
      text - 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
    • parseInt

      private int parseInt(String text, int position, int length)
      Parameters:
      text - text to parse
      position - position in text
      length - exact count of characters to parse
      Returns:
      parsed int value
    • getFieldValue

      long getFieldValue(ReadablePeriod period)
      Returns:
      Long.MAX_VALUE if nothing to print, otherwise value
    • isZero

      boolean isZero(ReadablePeriod period)
    • isSupported

      boolean isSupported(PeriodType type, int field)
    • setFieldValue

      void setFieldValue(ReadWritablePeriod period, int field, int value)
    • getFieldType

      int getFieldType()