Class StringFormatPart

  • All Implemented Interfaces:
    java.lang.Comparable<FormatPart>, FormatPart

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

    Represents the following format {@linkplain %[argument_index$][flags][width][.precision]conversion}.

    Date: 13.06.2011

    • Field Detail

      • index

        private int index
      • width

        private int width
      • precision

        private int precision
      • dateTimeConversion

        private java.lang.Character dateTimeConversion
      • position

        private final int position
    • Constructor Detail

      • StringFormatPart

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

      • of

        public static StringFormatPart of​(int position,
                                          java.lang.String[] group)
                                   throws java.lang.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:
        java.lang.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 java.util.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.
      • 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​(java.lang.String s)
                        throws java.lang.IllegalArgumentException
        Initializes the index field based on the string.
        Parameters:
        s - the index in string form.
        Throws:
        java.lang.IllegalArgumentException - if the string is not a number.
      • initFlags

        private void initFlags​(java.lang.String s)
                        throws java.util.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:
        java.util.DuplicateFormatFlagsException - if the flag is specified more than once.
      • initWidth

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

        private void initPrecision​(java.lang.String s)
                            throws java.lang.IllegalArgumentException
        Initializes the precision based on the string.
        Parameters:
        s - the precision in string form.
        Throws:
        java.lang.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 java.lang.String part()
        Description copied from interface: FormatPart
        The part of the format.
        Returns:
        the part of the format.