public static String quoteAndEscape()

in src/main/java/org/apache/maven/shared/utils/StringUtils.java [2048:2086]


    public static String quoteAndEscape(
            @Nullable String source,
            char quoteChar,
            @Nonnull final char[] escapedChars,
            @Nonnull final char[] quotingTriggers,
            char escapeChar,
            boolean force) {
        if (source == null) {
            return null;
        }

        if (!force
                && source.startsWith(Character.toString(quoteChar))
                && source.endsWith(Character.toString(quoteChar))) {
            return source;
        }

        String escaped = escape(source, escapedChars, escapeChar);

        boolean quote = false;
        if (force) {
            quote = true;
        } else if (!escaped.equals(source)) {
            quote = true;
        } else {
            for (char quotingTrigger : quotingTriggers) {
                if (escaped.indexOf(quotingTrigger) > -1) {
                    quote = true;
                    break;
                }
            }
        }

        if (quote) {
            return quoteChar + escaped + quoteChar;
        }

        return escaped;
    }