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;
}
}
Source
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