< prev index next >
src/java.base/share/classes/java/util/Formattable.java
Print this page
*** 26,37 ****
package java.util;
import java.io.IOException;
/**
! * The <tt>Formattable</tt> interface must be implemented by any class that
! * needs to perform custom formatting using the <tt>'s'</tt> conversion
* specifier of {@link java.util.Formatter}. This interface allows basic
* control for formatting arbitrary objects.
*
* For example, the following class prints out different representations of a
* stock's name depending on the flags and length constraints:
--- 26,37 ----
package java.util;
import java.io.IOException;
/**
! * The {@code Formattable} interface must be implemented by any class that
! * needs to perform custom formatting using the {@code 's'} conversion
* specifier of {@link java.util.Formatter}. This interface allows basic
* control for formatting arbitrary objects.
*
* For example, the following class prints out different representations of a
* stock's name depending on the flags and length constraints:
*** 108,118 ****
*
* <p> Formattables are not necessarily safe for multithreaded access. Thread
* safety is optional and may be enforced by classes that extend and implement
* this interface.
*
! * <p> Unless otherwise specified, passing a <tt>null</tt> argument to
* any method in this interface will cause a {@link
* NullPointerException} to be thrown.
*
* @since 1.5
*/
--- 108,118 ----
*
* <p> Formattables are not necessarily safe for multithreaded access. Thread
* safety is optional and may be enforced by classes that extend and implement
* this interface.
*
! * <p> Unless otherwise specified, passing a {@code null} argument to
* any method in this interface will cause a {@link
* NullPointerException} to be thrown.
*
* @since 1.5
*/
*** 124,134 ****
* @param formatter
* The {@link Formatter formatter}. Implementing classes may call
* {@link Formatter#out() formatter.out()} or {@link
* Formatter#locale() formatter.locale()} to obtain the {@link
* Appendable} or {@link Locale} used by this
! * <tt>formatter</tt> respectively.
*
* @param flags
* The flags modify the output format. The value is interpreted as
* a bitmask. Any combination of the following flags may be set:
* {@link FormattableFlags#LEFT_JUSTIFY}, {@link
--- 124,134 ----
* @param formatter
* The {@link Formatter formatter}. Implementing classes may call
* {@link Formatter#out() formatter.out()} or {@link
* Formatter#locale() formatter.locale()} to obtain the {@link
* Appendable} or {@link Locale} used by this
! * {@code formatter} respectively.
*
* @param flags
* The flags modify the output format. The value is interpreted as
* a bitmask. Any combination of the following flags may be set:
* {@link FormattableFlags#LEFT_JUSTIFY}, {@link
*** 137,159 ****
* formatting of the implementing class will apply.
*
* @param width
* The minimum number of characters to be written to the output.
* If the length of the converted value is less than the
! * <tt>width</tt> then the output will be padded by
! * <tt>' '</tt> until the total number of characters
* equals width. The padding is at the beginning by default. If
* the {@link FormattableFlags#LEFT_JUSTIFY} flag is set then the
! * padding will be at the end. If <tt>width</tt> is <tt>-1</tt>
* then there is no minimum.
*
* @param precision
* The maximum number of characters to be written to the output.
* The precision is applied before the width, thus the output will
! * be truncated to <tt>precision</tt> characters even if the
! * <tt>width</tt> is greater than the <tt>precision</tt>. If
! * <tt>precision</tt> is <tt>-1</tt> then there is no explicit
* limit on the number of characters.
*
* @throws IllegalFormatException
* If any of the parameters are invalid. For specification of all
* possible formatting errors, see the <a
--- 137,159 ----
* formatting of the implementing class will apply.
*
* @param width
* The minimum number of characters to be written to the output.
* If the length of the converted value is less than the
! * {@code width} then the output will be padded by
! * <code>' '</code> until the total number of characters
* equals width. The padding is at the beginning by default. If
* the {@link FormattableFlags#LEFT_JUSTIFY} flag is set then the
! * padding will be at the end. If {@code width} is {@code -1}
* then there is no minimum.
*
* @param precision
* The maximum number of characters to be written to the output.
* The precision is applied before the width, thus the output will
! * be truncated to {@code precision} characters even if the
! * {@code width} is greater than the {@code precision}. If
! * {@code precision} is {@code -1} then there is no explicit
* limit on the number of characters.
*
* @throws IllegalFormatException
* If any of the parameters are invalid. For specification of all
* possible formatting errors, see the <a
< prev index next >