public static Formatter append()

in src/main/java/org/apache/commons/text/FormattableUtils.java [91:115]


    public static Formatter append(final CharSequence seq, final Formatter formatter, final int flags, final int width,
            final int precision, final char padChar, final CharSequence truncateEllipsis) {
        if (!(truncateEllipsis == null || precision < 0 || truncateEllipsis.length() <= precision)) {
            throw new IllegalArgumentException(
                    String.format("Specified ellipsis '%s' exceeds precision of %s",
                            truncateEllipsis,
                            precision));
        }
        final StringBuilder buf = new StringBuilder(seq);
        if (precision >= 0 && precision < seq.length()) {
            final CharSequence ellipsis;
            if (truncateEllipsis == null) {
                ellipsis = StringUtils.EMPTY;
            } else {
                ellipsis = truncateEllipsis;
            }
            buf.replace(precision - ellipsis.length(), seq.length(), ellipsis.toString());
        }
        final boolean leftJustify = (flags & LEFT_JUSTIFY) == LEFT_JUSTIFY;
        for (int i = buf.length(); i < width; i++) {
            buf.insert(leftJustify ? i : 0, padChar);
        }
        formatter.format(buf.toString());
        return formatter;
    }