Class StringFormatPart

java.lang.Object
org.jboss.logging.processor.validation.AbstractFormatPart
org.jboss.logging.processor.validation.StringFormatPart
All Implemented Interfaces:
Comparable<FormatPart>, FormatPart

class StringFormatPart extends AbstractFormatPart
The parameter part of a format for Formatter.

Represents the following format

invalid @linkplain
{@linkplain %[argument_index$][flags][width][.precision]conversion
}.

Date: 13.06.2011

  • Field Details

  • Constructor Details

    • StringFormatPart

      private StringFormatPart(int position)
      Creates a parameter format part.
      Parameters:
      position - the position in the string format.
  • Method Details

    • of

      public static StringFormatPart of(int position, String[] group) throws IllegalArgumentException
      Creates a parameter part of a format string.
      Parameters:
      position - the position of the part.
      group - the group array of the formats (must be a length of 6).
      Returns:
      the the parameter part.
      Throws:
      IllegalArgumentException - if the length of the group array is not equal to 6 or a format was invalid.
    • index

      public int index()
      Returns the format parameter index.

      If the index is inherited, -1 is returned.

      Returns:
      the format parameter index.
    • flags

      public Set<StringFormatPart.Flag> flags()
      A collection of the flags.
      Returns:
      the flags.
    • width

      public int width()
      The width for the format.

      If the width was not specified, -1 is returned.

      Returns:
      the width.
    • precision

      public int precision()
      The precision for the format.

      If the precision was not specified, -1 is returned.

      Returns:
      the precision.
    • conversion

      public StringFormatPart.Conversion conversion()
      The conversion for the string format.
      Returns:
      the conversion.
    • dateTimeChar

      public char dateTimeChar()
      The date/time conversion character.

      null if there is not date time conversion character.

      Returns:
      the date/time conversion character or null.
    • initIndex

      private void initIndex(String s) throws IllegalArgumentException
      Initializes the index field based on the string.
      Parameters:
      s - the index in string form.
      Throws:
      IllegalArgumentException - if the string is not a number.
    • initFlags

      private void initFlags(String s) throws DuplicateFormatFlagsException
      Initializes the flags based on the string.

      Will set the index to -1 if the StringFormatPart.Flag.PREVIOUS flag is found.

      Parameters:
      s - the flags in string form.
      Throws:
      DuplicateFormatFlagsException - if the flag is specified more than once.
    • initWidth

      private void initWidth(String s) throws IllegalArgumentException
      Initializes the width based on the string.
      Parameters:
      s - the width in string form.
      Throws:
      IllegalArgumentException - the string is an invalid number.
    • initPrecision

      private void initPrecision(String s) throws IllegalArgumentException
      Initializes the precision based on the string.
      Parameters:
      s - the precision in string form.
      Throws:
      IllegalArgumentException - if the precision is less than 0 or an invalid number.
    • position

      public int position()
      Description copied from interface: FormatPart
      The position for the part.
      Returns:
      the position.
    • part

      public String part()
      Description copied from interface: FormatPart
      The part of the format.
      Returns:
      the part of the format.
    • toString

      public String toString()
      Overrides:
      toString in class AbstractFormatPart