Home / Class/ ReadOnlyStringValueIterator Class — netty Architecture

ReadOnlyStringValueIterator Class — netty Architecture

Architecture documentation for the ReadOnlyStringValueIterator class in ReadOnlyHttpHeaders.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  60778f99_0146_fcc3_0c58_41d3172ec620["ReadOnlyStringValueIterator"]
  9c0d840a_0c24_0113_a05c_3a195f469a49["ReadOnlyHttpHeaders.java"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|defined in| 9c0d840a_0c24_0113_a05c_3a195f469a49
  88819779_77dd_3702_f143_a6e8ae17e85c["ReadOnlyStringValueIterator()"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|method| 88819779_77dd_3702_f143_a6e8ae17e85c
  859992bd_a4a5_a6e7_b15f_4b2c989df6dd["hasNext()"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|method| 859992bd_a4a5_a6e7_b15f_4b2c989df6dd
  1e899da9_b2aa_8a22_72ce_29f1c4c7f2b3["String()"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|method| 1e899da9_b2aa_8a22_72ce_29f1c4c7f2b3
  ab106cdc_f079_15fc_ba29_621f80eff702["remove()"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|method| ab106cdc_f079_15fc_ba29_621f80eff702
  d420a4ef_fc0a_2213_65e5_a76d14fdfc6b["findNextValue()"]
  60778f99_0146_fcc3_0c58_41d3172ec620 -->|method| d420a4ef_fc0a_2213_65e5_a76d14fdfc6b

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/ReadOnlyHttpHeaders.java lines 376–416

    private final class ReadOnlyStringValueIterator implements Iterator<String> {
        private final CharSequence name;
        private final int nameHash;
        private int nextNameIndex;

        ReadOnlyStringValueIterator(CharSequence name) {
            this.name = name;
            nameHash = AsciiString.hashCode(name);
            nextNameIndex = findNextValue();
        }

        @Override
        public boolean hasNext() {
            return nextNameIndex != -1;
        }

        @Override
        public String next() {
            if (!hasNext()) {
                throw new NoSuchElementException();
            }
            String value = nameValuePairs[nextNameIndex + 1].toString();
            nextNameIndex = findNextValue();
            return value;
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException("read only");
        }

        private int findNextValue() {
            for (int i = nextNameIndex; i < nameValuePairs.length; i += 2) {
                final CharSequence roName = nameValuePairs[i];
                if (nameHash == AsciiString.hashCode(roName) && contentEqualsIgnoreCase(name, roName)) {
                    return i;
                }
            }
            return -1;
        }
    }

Frequently Asked Questions

What is the ReadOnlyStringValueIterator class?
ReadOnlyStringValueIterator is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/ReadOnlyHttpHeaders.java.
Where is ReadOnlyStringValueIterator defined?
ReadOnlyStringValueIterator is defined in codec-http/src/main/java/io/netty/handler/codec/http/ReadOnlyHttpHeaders.java at line 376.

Analyze Your Own Codebase

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

Try Supermodel Free