|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apfloat.spi.DataStorage.Iterator
org.apfloat.spi.DataStorage.AbstractIterator
Abstract base class for iterators iterating through this DataStorage
.
This class provides most of the common functionality needed.
Constructor Summary | |
protected |
DataStorage.AbstractIterator(int mode,
long startPosition,
long endPosition)
Construct a new iterator. |
Method Summary | |
protected void |
checkGet()
Checks if any of the get() methods can be called.
|
protected void |
checkLength()
Checks if the iterator is at the end yet. |
protected void |
checkSet()
Checks if any of the set() methods can be called.
|
double |
getDouble()
Gets the current element as a double . |
float |
getFloat()
Gets the current element as a float . |
protected int |
getIncrement()
Returns the increment of the iterator. |
int |
getInt()
Gets the current element as an int . |
protected long |
getLength()
Returns the remaining length in the iterator. |
long |
getLong()
Gets the current element as a long . |
protected int |
getMode()
Returns the mode in which the iterator was created. |
protected long |
getPosition()
Returns the current position of the iterator. |
boolean |
hasNext()
Check if next() can be called without going past the end of the sequence.
|
void |
next()
Advances the position in the stream by one element. |
void |
setDouble(double value)
Sets the current element as a double . |
void |
setFloat(float value)
Sets the current element as a float . |
void |
setInt(int value)
Sets the current element as an int . |
void |
setLong(long value)
Sets the current element as a long . |
Methods inherited from class org.apfloat.spi.DataStorage.Iterator |
close |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected DataStorage.AbstractIterator(int mode, long startPosition, long endPosition) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, ApfloatRuntimeException
startPosition
is less than or greater than endPosition
, correspondingly.
mode
- Access mode for iterator: DataStorage.READ
, DataStorage.WRITE
or both.startPosition
- Starting position of iterator in the data set. For reverse access, the first element in the iterator is startPosition - 1
.endPosition
- End position of iterator in the data set. For forward access, the last accessible element in the iterator is endPosition - 1
.
java.lang.IllegalArgumentException
- If the requested block is out of bounds of the data storage.
java.lang.IllegalStateException
- If write access is requested for a read-only data storage.
ApfloatRuntimeException
Method Detail |
public boolean hasNext()
next()
can be called without going past the end of the sequence.
That is, if next()
can be called without deliberately causing an exception.
Note: It is important that the iterator is iterated
past the last element; that is next()
is called
startPosition - endPosition
times. The
get()
or set()
methods should not
be called for the last element.
hasNext
in class DataStorage.Iterator
true
if next()
can be called, otherwise false
.public void next() throws java.lang.IllegalStateException, ApfloatRuntimeException
Note: It is important that the iterator is iterated
past the last element; that is next()
is called
startPosition - endPosition
times. The
get()
or set()
methods should not
be called for the last element.
next
in class DataStorage.Iterator
java.lang.IllegalStateException
- If the iterator has been iterated to the end already.
ApfloatRuntimeException
public int getInt() throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
int
.
The default implementation always throws UnsupportedOperationException
.
getInt
in class DataStorage.Iterator
int
.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to an int
.
java.lang.IllegalStateException
- If the iterator is at the end.
ApfloatRuntimeException
public long getLong() throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
long
.
The default implementation always throws UnsupportedOperationException
.
getLong
in class DataStorage.Iterator
long
.
java.lang.IllegalStateException
- If the iterator is at the end.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a long
.
ApfloatRuntimeException
public float getFloat() throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
float
.
The default implementation always throws UnsupportedOperationException
.
getFloat
in class DataStorage.Iterator
float
.
java.lang.IllegalStateException
- If the iterator is at the end.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a float
.
ApfloatRuntimeException
public double getDouble() throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
double
.
The default implementation always throws UnsupportedOperationException
.
getDouble
in class DataStorage.Iterator
double
.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a double
.
java.lang.IllegalStateException
- If the iterator is at the end.
ApfloatRuntimeException
public void setInt(int value) throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
int
.
The default implementation always throws UnsupportedOperationException
.
setInt
in class DataStorage.Iterator
value
- The value to be set to the current element as an int
.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to an int
.
java.lang.IllegalStateException
- If the iterator is at the end.
ApfloatRuntimeException
public void setLong(long value) throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
long
.
The default implementation always throws UnsupportedOperationException
.
setLong
in class DataStorage.Iterator
value
- The value to be set to the current element as a long
.
java.lang.IllegalStateException
- If the iterator is at the end.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a long
.
ApfloatRuntimeException
public void setFloat(float value) throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
float
.
The default implementation always throws UnsupportedOperationException
.
setFloat
in class DataStorage.Iterator
value
- The value to be set to the current element as a float
.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a float
.
java.lang.IllegalStateException
- If the iterator is at the end.
ApfloatRuntimeException
public void setDouble(double value) throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException, ApfloatRuntimeException
DataStorage.Iterator
double
.
The default implementation always throws UnsupportedOperationException
.
setDouble
in class DataStorage.Iterator
value
- The value to be set to the current element as a double
.
java.lang.IllegalStateException
- If the iterator is at the end.
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to a double
.
ApfloatRuntimeException
protected void checkGet() throws java.lang.IllegalStateException
get()
methods can be called.
This checks both that the iterator is not at the end yet, and
that the iterator was opened in a readable mode.
java.lang.IllegalStateException
- If the iterator is at end or is not readable.protected void checkSet() throws java.lang.IllegalStateException
set()
methods can be called.
This checks both that the iterator is not at the end yet, and
that the iterator was opened in a writable mode.
java.lang.IllegalStateException
- If the iterator is at end or is not writable.protected void checkLength() throws java.lang.IllegalStateException
java.lang.IllegalStateException
- If the iterator is at end.protected int getMode()
protected long getPosition()
protected long getLength()
protected int getIncrement()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |