private static String escapeAttributeValue(String value) {
        final String escapees = ",=+<>#;\"\\";
        char[] chars = value.toCharArray();
        StringBuffer buf = new StringBuffer(2 * value.length());

        // Find leading and trailing whitespace.
        int lead; // index of first char that is not leading whitespace
        for (lead = 0; lead < chars.length; lead++) {
            if (!isWhitespace(chars[lead])) {
                break;
            }
        }
        int trail; // index of last char that is not trailing whitespace
        for (trail = chars.length - 1; trail >= 0; trail--) {
            if (!isWhitespace(chars[trail])) {
                break;
            }
        }

        for (int i = 0; i < chars.length; i++) {
            char c = chars[i];
            if ((i < lead) || (i > trail) || (escapees.indexOf(c) >= 0)) {
                buf.append('\\');
            }
            buf.append(c);
        }
        return new String(buf);
    }
private static String escapeAttributeValue ( String value ) { final String escapees = ",=+<>#;\"\\" ; char [ ] chars = value . toCharArray ( ) ; StringBuffer buf = new StringBuffer ( 2 * value . length ( ) ) ; int lead ; for ( lead = 0 ; lead < chars . length ; lead ++ ) { if ( ! isWhitespace ( chars [ lead ] ) ) { break ; } } int trail ; for ( trail = chars . length - 1 ; trail >= 0 ; trail -- ) { if ( ! isWhitespace ( chars [ trail ] ) ) { break ; } } for ( int i = 0 ; i < chars . length ; i ++ ) { char c = chars [ i ] ; if ( ( i < lead ) || ( i > trail ) || ( escapees . indexOf ( c ) >= 0 ) ) { buf . append ( '\\' ) ; } buf . append ( c ) ; } return new String ( buf ) ; }
Given the value of an attribute, returns a string suitable for inclusion in a DN.

If the value is a string, this is accomplished by using backslash (\) to escape
the following characters: , = + < > # ; " \

@param value
@return