public CharSequence pad()

in src/main/java/org/apache/commons/cli/help/TextStyle.java [344:389]


    public CharSequence pad(final boolean addIndent, final CharSequence text) {
        if (text.length() >= maxWidth) {
            return text;
        }
        String indentPad;
        String rest;
        final StringBuilder sb = new StringBuilder();
        switch (alignment) {
        case CENTER:
            int padLen;
            if (maxWidth == UNSET_MAX_WIDTH) {
                padLen = addIndent ? indent : 0;
            } else {
                padLen = maxWidth - text.length();
            }
            final int left = padLen / 2;
            indentPad = Util.repeatSpace(left);
            rest = Util.repeatSpace(padLen - left);
            sb.append(indentPad).append(text).append(rest);
            break;
        case LEFT:
        case RIGHT:
        default: // default should never happen. It is here to keep code coverage happy.
            if (maxWidth == UNSET_MAX_WIDTH) {
                indentPad = addIndent ? Util.repeatSpace(indent) : "";
                rest = "";
            } else {
                int restLen = maxWidth - text.length();
                if (addIndent && restLen > indent) {
                    indentPad = Util.repeatSpace(indent);
                    restLen -= indent;
                } else {
                    indentPad = "";
                }
                rest = Util.repeatSpace(restLen);
            }

            if (alignment == Alignment.LEFT) {
                sb.append(indentPad).append(text).append(rest);
            } else {
                sb.append(indentPad).append(rest).append(text);
            }
            break;
        }
        return sb.toString();
    }