public String toString()

in ftplet-api/src/main/java/org/apache/ftpserver/ftplet/DefaultFtpReply.java [101:157]


    public String toString() {
        int code = getCode();
        String notNullMessage = getMessage();
        if (notNullMessage == null) {
            notNullMessage = "";
        }

        StringBuilder sb = new StringBuilder();

        // remove any carriage returns
        notNullMessage = notNullMessage.replace("\r", "");
        
        // remove trailing line feeds
        if(notNullMessage.endsWith("\n")) {
            notNullMessage = notNullMessage.substring(0, notNullMessage.length() - 1);
        }
        
        String[] lines = notNullMessage.split("\n");

        // no newline
        if (lines.length == 1) {
            sb.append(code);
            sb.append(" ");
            sb.append(notNullMessage);
            sb.append(CRLF);
        } else {

            sb.append(code);
            sb.append("-");

            for (int i = 0; i < lines.length; i++) {
                String line = lines[i];

                if (i + 1 == lines.length) {
                    sb.append(code);
                    sb.append(" ");
                }

                // "If an intermediary line begins with a 3-digit number, the Server
                // must pad the front  to avoid confusion.
                if(i > 0 
                        && i + 1 < lines.length 
                        && line.length() > 2 
                        && isDigit(line.charAt(0))
                        && isDigit(line.charAt(1))
                        && isDigit(line.charAt(2))
                    ) {
                    sb.append("  ");
                }
                sb.append(line);
                sb.append(CRLF);
            }

        }

        return sb.toString();
    }