Package org.apfloat.internal
Class FloatDiskDataStorage.BlockIterator
- java.lang.Object
-
- org.apfloat.spi.DataStorage.Iterator
-
- org.apfloat.spi.DataStorage.AbstractIterator
-
- org.apfloat.internal.FloatDiskDataStorage.BlockIterator
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.AutoCloseable
- Enclosing class:
- FloatDiskDataStorage
private class FloatDiskDataStorage.BlockIterator extends DataStorage.AbstractIterator
-
-
Field Summary
Fields Modifier and Type Field Description private ArrayAccess
arrayAccess
private float[]
data
private int
offset
private int
remaining
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description BlockIterator(int mode, long startPosition, long endPosition)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkAvailable()
void
close()
Closes the iterator.<T> T
get(java.lang.Class<T> type)
Gets the current element as a the specified element type.float
getFloat()
Gets the current element as afloat
.void
next()
Advances the position in the stream by one element.<T> void
set(java.lang.Class<T> type, T value)
Sets the current element as the specified element type.void
setFloat(float value)
Sets the current element as afloat
.-
Methods inherited from class org.apfloat.spi.DataStorage.AbstractIterator
checkGet, checkLength, checkSet, getDouble, getIncrement, getInt, getLength, getLong, getMode, getPosition, hasNext, setDouble, setInt, setLong
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
arrayAccess
private ArrayAccess arrayAccess
-
data
private float[] data
-
offset
private int offset
-
remaining
private int remaining
-
-
Constructor Detail
-
BlockIterator
public BlockIterator(int mode, long startPosition, long endPosition) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, ApfloatRuntimeException
- Throws:
java.lang.IllegalArgumentException
java.lang.IllegalStateException
ApfloatRuntimeException
-
-
Method Detail
-
next
public void next() throws java.lang.IllegalStateException, ApfloatRuntimeException
Description copied from class:DataStorage.AbstractIterator
Advances the position in the stream by one element.Note: It is important that the iterator is iterated past the last element; that is
next()
is calledstartPosition - endPosition
times. Theget()
orset()
methods should not be called for the last element.- Overrides:
next
in classDataStorage.AbstractIterator
- Throws:
java.lang.IllegalStateException
- If the iterator has been iterated to the end already.ApfloatRuntimeException
-
getFloat
public float getFloat() throws java.lang.IllegalStateException, ApfloatRuntimeException
Description copied from class:DataStorage.Iterator
Gets the current element as afloat
.The default implementation calls
DataStorage.Iterator.get(Class)
with argumentFloat.TYPE
.- Overrides:
getFloat
in classDataStorage.AbstractIterator
- Returns:
- The current element as a
float
. - Throws:
java.lang.IllegalStateException
- If the iterator is at the end.ApfloatRuntimeException
-
setFloat
public void setFloat(float value) throws java.lang.IllegalStateException, ApfloatRuntimeException
Description copied from class:DataStorage.Iterator
Sets the current element as afloat
.The default implementation calls
DataStorage.Iterator.set(Class,Object)
with first argumentFloat.TYPE
.- Overrides:
setFloat
in classDataStorage.AbstractIterator
- Parameters:
value
- The value to be set to the current element as afloat
.- Throws:
java.lang.IllegalStateException
- If the iterator is at the end.ApfloatRuntimeException
-
get
public <T> T get(java.lang.Class<T> type) throws java.lang.UnsupportedOperationException, java.lang.IllegalStateException
Description copied from class:DataStorage.Iterator
Gets the current element as a the specified element type.The default implementation always throws
UnsupportedOperationException
.- Overrides:
get
in classDataStorage.Iterator
- Type Parameters:
T
- The type of the element.- Parameters:
type
- The type of the element.- Returns:
- The current element as the specified type.
- Throws:
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to the specified type.java.lang.IllegalStateException
- If the iterator is at the end.
-
set
public <T> void set(java.lang.Class<T> type, T value) throws java.lang.UnsupportedOperationException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
Description copied from class:DataStorage.Iterator
Sets the current element as the specified element type.The default implementation always throws
UnsupportedOperationException
.- Overrides:
set
in classDataStorage.Iterator
- Type Parameters:
T
- The type of the element.- Parameters:
type
- The type of the element.value
- The value to be set to the current element as the specified type.- Throws:
java.lang.UnsupportedOperationException
- If the element type of the data storage can't be converted to the specified type.java.lang.IllegalArgumentException
- If the value is not of the specified type.java.lang.IllegalStateException
- If the iterator is at the end.
-
close
public void close() throws ApfloatRuntimeException
Closes the iterator. This needs to be called only if the iterator is not iterated to the end.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Overrides:
close
in classDataStorage.Iterator
- Throws:
ApfloatRuntimeException
-
checkAvailable
private void checkAvailable() throws ApfloatRuntimeException
- Throws:
ApfloatRuntimeException
-
-