CombinedIterator Class — netty Architecture
Architecture documentation for the CombinedIterator class in CombinedIterator.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ebc500d1_ffc3_b99c_ee28_21a87ee6c75c["CombinedIterator"] 4d7655af_8b38_6631_0869_ff92328e4185["CombinedIterator.java"] ebc500d1_ffc3_b99c_ee28_21a87ee6c75c -->|defined in| 4d7655af_8b38_6631_0869_ff92328e4185 e416198d_5cfe_0994_7613_6efd35b54408["CombinedIterator()"] ebc500d1_ffc3_b99c_ee28_21a87ee6c75c -->|method| e416198d_5cfe_0994_7613_6efd35b54408 2137a60f_4c1e_e31f_a973_208523aa17b6["hasNext()"] ebc500d1_ffc3_b99c_ee28_21a87ee6c75c -->|method| 2137a60f_4c1e_e31f_a973_208523aa17b6 68c75a1a_1b46_fdcc_45f6_8879fc024ca7["E()"] ebc500d1_ffc3_b99c_ee28_21a87ee6c75c -->|method| 68c75a1a_1b46_fdcc_45f6_8879fc024ca7 b4ba00ab_5f46_b3ff_66dd_95a1ce1969b1["remove()"] ebc500d1_ffc3_b99c_ee28_21a87ee6c75c -->|method| b4ba00ab_5f46_b3ff_66dd_95a1ce1969b1
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/group/CombinedIterator.java lines 25–72
final class CombinedIterator<E> implements Iterator<E> {
private final Iterator<E> i1;
private final Iterator<E> i2;
private Iterator<E> currentIterator;
CombinedIterator(Iterator<E> i1, Iterator<E> i2) {
this.i1 = ObjectUtil.checkNotNull(i1, "i1");
this.i2 = ObjectUtil.checkNotNull(i2, "i2");
this.currentIterator = i1;
}
@Override
public boolean hasNext() {
for (;;) {
if (currentIterator.hasNext()) {
return true;
}
if (currentIterator == i1) {
currentIterator = i2;
} else {
return false;
}
}
}
@Override
public E next() {
for (;;) {
try {
return currentIterator.next();
} catch (NoSuchElementException e) {
if (currentIterator == i1) {
currentIterator = i2;
} else {
throw e;
}
}
}
}
@Override
public void remove() {
currentIterator.remove();
}
}
Source
Frequently Asked Questions
What is the CombinedIterator class?
CombinedIterator is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/group/CombinedIterator.java.
Where is CombinedIterator defined?
CombinedIterator is defined in transport/src/main/java/io/netty/channel/group/CombinedIterator.java at line 25.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free