Package org.apache.http.message
Class BasicListHeaderIterator
- java.lang.Object
-
- org.apache.http.message.BasicListHeaderIterator
-
- All Implemented Interfaces:
java.util.Iterator<java.lang.Object>
,HeaderIterator
public class BasicListHeaderIterator extends java.lang.Object implements HeaderIterator
- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<Header>
allHeaders
A list of headers to iterate over.protected int
currentIndex
The position of the next header inallHeaders
.protected java.lang.String
headerName
The header name to filter by.protected int
lastIndex
The position of the last returned header.
-
Constructor Summary
Constructors Constructor Description BasicListHeaderIterator(java.util.List<Header> headers, java.lang.String name)
Creates a new header iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
filterHeader(int index)
Checks whether a header is part of the iteration.protected int
findNext(int pos)
Determines the index of the next header.boolean
hasNext()
Indicates whether there is another header in this iteration.java.lang.Object
next()
Returns the next header.Header
nextHeader()
Obtains the next header from this iteration.void
remove()
Removes the header that was returned last.
-
-
-
Field Detail
-
allHeaders
protected final java.util.List<Header> allHeaders
A list of headers to iterate over. Not all elements of this array are necessarily part of the iteration.
-
currentIndex
protected int currentIndex
The position of the next header inallHeaders
. Negative if the iteration is over.
-
lastIndex
protected int lastIndex
The position of the last returned header. Negative if none has been returned so far.
-
headerName
protected java.lang.String headerName
The header name to filter by.null
to iterate over all headers in the array.
-
-
Constructor Detail
-
BasicListHeaderIterator
public BasicListHeaderIterator(java.util.List<Header> headers, java.lang.String name)
Creates a new header iterator.- Parameters:
headers
- a list of headers over which to iteratename
- the name of the headers over which to iterate, ornull
for any
-
-
Method Detail
-
findNext
protected int findNext(int pos)
Determines the index of the next header.- Parameters:
pos
- one less than the index to consider first, -1 to search for the first header- Returns:
- the index of the next header that matches the filter name, or negative if there are no more headers
-
filterHeader
protected boolean filterHeader(int index)
Checks whether a header is part of the iteration.- Parameters:
index
- the index of the header to check- Returns:
true
if the header should be part of the iteration,false
to skip
-
hasNext
public boolean hasNext()
Description copied from interface:HeaderIterator
Indicates whether there is another header in this iteration.- Specified by:
hasNext
in interfaceHeaderIterator
- Specified by:
hasNext
in interfacejava.util.Iterator<java.lang.Object>
- Returns:
true
if there is another header,false
otherwise
-
nextHeader
public Header nextHeader() throws java.util.NoSuchElementException
Obtains the next header from this iteration.- Specified by:
nextHeader
in interfaceHeaderIterator
- Returns:
- the next header in this iteration
- Throws:
java.util.NoSuchElementException
- if there are no more headers
-
next
public final java.lang.Object next() throws java.util.NoSuchElementException
Returns the next header. Same asnextHeader
, but not type-safe.- Specified by:
next
in interfacejava.util.Iterator<java.lang.Object>
- Returns:
- the next header in this iteration
- Throws:
java.util.NoSuchElementException
- if there are no more headers
-
remove
public void remove() throws java.lang.UnsupportedOperationException
Removes the header that was returned last.- Specified by:
remove
in interfacejava.util.Iterator<java.lang.Object>
- Throws:
java.lang.UnsupportedOperationException
-
-