Home / Class/ ReadOnlyIterator Class — netty Architecture

ReadOnlyIterator Class — netty Architecture

Architecture documentation for the ReadOnlyIterator class in ReadOnlyHttp2Headers.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d["ReadOnlyIterator"]
  298441ed_bdf2_76b6_011e_5ffe970f6cb8["ReadOnlyHttp2Headers.java"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|defined in| 298441ed_bdf2_76b6_011e_5ffe970f6cb8
  ba4809ff_fe27_2a2b_178a_5edd5a8fc988["hasNext()"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|method| ba4809ff_fe27_2a2b_178a_5edd5a8fc988
  0eb0f220_1a59_db63_84c1_797dedf171a8["next()"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|method| 0eb0f220_1a59_db63_84c1_797dedf171a8
  b96557d0_f059_e895_f136_79a5fe5cb4f4["CharSequence()"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|method| b96557d0_f059_e895_f136_79a5fe5cb4f4
  faefc654_fb24_aded_a0d9_34e0e8f99ad9["remove()"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|method| faefc654_fb24_aded_a0d9_34e0e8f99ad9
  0726dc99_b33e_2283_d5fc_447984807fa7["String()"]
  51d1aa1f_bd7a_590c_70cd_b60b74e65b4d -->|method| 0726dc99_b33e_2283_d5fc_447984807fa7

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/ReadOnlyHttp2Headers.java lines 840–891

    private final class ReadOnlyIterator implements Map.Entry<CharSequence, CharSequence>,
                                                    Iterator<Map.Entry<CharSequence, CharSequence>> {
        private int i;
        private AsciiString[] current = pseudoHeaders.length != 0 ? pseudoHeaders : otherHeaders;
        private AsciiString key;
        private AsciiString value;

        @Override
        public boolean hasNext() {
            return i != current.length;
        }

        @Override
        public Map.Entry<CharSequence, CharSequence> next() {
            if (!hasNext()) {
                throw new NoSuchElementException();
            }
            key = current[i];
            value = current[i + 1];
            i += 2;
            if (i == current.length && current == pseudoHeaders) {
                current = otherHeaders;
                i = 0;
            }
            return this;
        }

        @Override
        public CharSequence getKey() {
            return key;
        }

        @Override
        public CharSequence getValue() {
            return value;
        }

        @Override
        public CharSequence setValue(CharSequence value) {
            throw new UnsupportedOperationException("read only");
        }

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

        @Override
        public String toString() {
            return key.toString() + '=' + value.toString();
        }
    }

Frequently Asked Questions

What is the ReadOnlyIterator class?
ReadOnlyIterator is a class in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/ReadOnlyHttp2Headers.java.
Where is ReadOnlyIterator defined?
ReadOnlyIterator is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/ReadOnlyHttp2Headers.java at line 840.

Analyze Your Own Codebase

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

Try Supermodel Free