Home / Function/ CharSequence() — netty Function Reference

CharSequence() — netty Function Reference

Architecture documentation for the CharSequence() function in EscapeCsvBenchmark.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  f62c9214_6cb5_16a5_3b22_7c524775c513["CharSequence()"]
  a9ac85cd_5aef_ac61_8d7f_56740828548d["EscapeCsvBenchmark"]
  f62c9214_6cb5_16a5_3b22_7c524775c513 -->|defined in| a9ac85cd_5aef_ac61_8d7f_56740828548d
  bb145252_90dd_6f86_7df4_e68e6836fc48["indexOfFirstNonOwsChar()"]
  f62c9214_6cb5_16a5_3b22_7c524775c513 -->|calls| bb145252_90dd_6f86_7df4_e68e6836fc48
  32cf7847_6506_a490_6e8b_b1fd1c61c975["indexOfLastNonOwsChar()"]
  f62c9214_6cb5_16a5_3b22_7c524775c513 -->|calls| 32cf7847_6506_a490_6e8b_b1fd1c61c975
  5182625f_3e1c_8086_797e_74c33412724a["StringBuilder()"]
  f62c9214_6cb5_16a5_3b22_7c524775c513 -->|calls| 5182625f_3e1c_8086_797e_74c33412724a
  f2a5a1c5_6720_a94f_416e_126761ca268d["isDoubleQuote()"]
  f62c9214_6cb5_16a5_3b22_7c524775c513 -->|calls| f2a5a1c5_6720_a94f_416e_126761ca268d
  style f62c9214_6cb5_16a5_3b22_7c524775c513 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

microbench/src/main/java/io/netty/microbench/internal/EscapeCsvBenchmark.java lines 61–120

    private static CharSequence escapeCsvOld(CharSequence value, boolean trimWhiteSpace) {
        int length = checkNotNull(value, "value").length();
        if (length == 0) {
            return value;
        }

        int start = 0;
        int last = length - 1;
        boolean trimmed = false;
        if (trimWhiteSpace) {
            start = indexOfFirstNonOwsChar(value, length);
            if (start == length) {
                return EMPTY_STRING;
            }
            last = indexOfLastNonOwsChar(value, start, length);
            trimmed = start > 0 || last < length - 1;
            if (trimmed) {
                length = last - start + 1;
            }
        }

        StringBuilder result = new StringBuilder(length + 7);
        boolean quoted = isDoubleQuote(value.charAt(start)) && isDoubleQuote(value.charAt(last)) && length != 1;
        boolean foundSpecialCharacter = false;
        boolean escapedDoubleQuote = false;
        for (int i = start; i <= last; i++) {
            char current = value.charAt(i);
            switch (current) {
            case DOUBLE_QUOTE:
                if (i == start || i == last) {
                    if (!quoted) {
                        result.append(DOUBLE_QUOTE);
                    } else {
                        continue;
                    }
                } else {
                    boolean isNextCharDoubleQuote = isDoubleQuote(value.charAt(i + 1));
                    if (!isDoubleQuote(value.charAt(i - 1)) &&
                        (!isNextCharDoubleQuote || i + 1 == last)) {
                        result.append(DOUBLE_QUOTE);
                        escapedDoubleQuote = true;
                    }
                    break;
                }
            case LINE_FEED:
            case CARRIAGE_RETURN:
            case COMMA:
                foundSpecialCharacter = true;
            }
            result.append(current);
        }

        if (escapedDoubleQuote || foundSpecialCharacter && !quoted) {
            return quote(result);
        }
        if (trimmed) {
            return quoted? quote(result) : result;
        }
        return value;
    }

Domain

Subdomains

Frequently Asked Questions

What does CharSequence() do?
CharSequence() is a function in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/internal/EscapeCsvBenchmark.java.
Where is CharSequence() defined?
CharSequence() is defined in microbench/src/main/java/io/netty/microbench/internal/EscapeCsvBenchmark.java at line 61.
What does CharSequence() call?
CharSequence() calls 4 function(s): StringBuilder, indexOfFirstNonOwsChar, indexOfLastNonOwsChar, isDoubleQuote.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free