Package com.esri.core.geometry
Class AttributeStreamOfInt32
java.lang.Object
com.esri.core.geometry.AttributeStreamBase
com.esri.core.geometry.AttributeStreamOfInt32
- All Implemented Interfaces:
Serializable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int[]
private int
private static final long
Fields inherited from class com.esri.core.geometry.AttributeStreamBase
m_bLockedInSize, m_bReadonly
-
Constructor Summary
ConstructorsConstructorDescriptionAttributeStreamOfInt32
(int size) AttributeStreamOfInt32
(int size, int defaultValue) AttributeStreamOfInt32
(AttributeStreamOfInt32 other, int maxSize) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
_selfWriteRangeImpl
(int toElement, int count, int fromElement, boolean bForward, int stride) void
add
(int v) Adds a new value at the end of the stream.void
addRange
(AttributeStreamBase src, int start, int count, boolean bForward, int stride) Adds a range of elements from the source stream.int
calculateHashImpl
(int hashCode, int start, int end) int
capacity()
boolean
equals
(AttributeStreamBase other, int start, int end) void
eraseRange
(int index, int count, int validSize) Erases a range from the buffer and defragments the result.long
Returns an estimate of this object size in bytes.(package private) int
findElement
(int value) int
get
(int offset) int
getLast()
int
Returns the Persistence type of the stream.(package private) boolean
hasElement
(int value) void
insertAttributes
(int start, Point pt, int semantics, int validSize) Inserts the attributes of a given semantics from a Point geometry.(package private) void
insertionsort
(int start, int end, AttributeStreamOfInt32.IntComparator compare) void
insertRange
(int start, double value, int count, int validSize) Inserts a range of elements of the given value.void
insertRange
(int start, AttributeStreamBase src, int srcStart, int count, boolean bForward, int stride, int validSize) Inserts a range of elements from the source stream.(package private) void
popElement
(int index) (package private) void
quicksort
(int leftIn, int rightIn, AttributeStreamOfInt32.IntComparator compare, AttributeStreamOfInt32.RandomSeed seed) int
read
(int offset) Reads a value from the buffer at given offset.double
readAsDbl
(int offset) Reads given element and returns it as double.int
readAsInt
(int offset) Reads given element and returns it as int (truncated if double).long
readAsInt64
(int offset) Reads given element and returns it as int (truncated if double).private void
readObject
(ObjectInputStream stream) private void
void
readRange
(int srcStart, int count, ByteBuffer dst, int dstOffset, boolean bForward) Write a range of elements to the source byte buffer.void
void
reserve
(int reserve) void
resize
(int newSize) Resizes the AttributeStream to the new size.void
resize
(int newSize, double defaultValue) Resizes the AttributeStream to the new size.void
resizePreserveCapacity
(int newSize) Resizes the AttributeStream to the new size.restrictedClone
(int maxsize) Creats a copy of the stream that contains upto maxsize elements.void
reverseRange
(int index, int count, int stride) Reverses a range from the buffer.void
set
(int offset, int value) void
setLast
(int v) void
setRange
(double value, int start, int count) Sets a range of values to given value.int
size()
void
sort
(int start, int end) void
Sort
(int start, int end, AttributeStreamOfInt32.IntComparator compare) (package private) void
swap
(int left, int right) int
Returns the number of elements in the stream.void
write
(int offset, int value) Overwrites given element with new value.void
writeAsDbl
(int offset, double d) Writes given element as double.void
writeAsInt
(int offset, int d) Writes given element as int.void
writeAsInt64
(int offset, long d) Writes given element as int.private void
writeObject
(ObjectOutputStream stream) void
writeRange
(int startElement, int count, AttributeStreamBase _src, int srcStart, boolean bForward, int stride) Adds a range of elements from the source byte buffer.void
writeRange
(int startElement, int count, ByteBuffer src, int offsetBytes, boolean bForward) Adds a range of elements from the source byte buffer.Methods inherited from class com.esri.core.geometry.AttributeStreamBase
clear, createAttributeStreamWithPersistence, createAttributeStreamWithPersistence, createAttributeStreamWithSemantics, createByteStream, createByteStream, createDoubleStream, createDoubleStream, createIndexStream, createIndexStream, isLockedSize, isReadonly, lockSize, setReadonly
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
m_buffer
private transient int[] m_buffer -
m_size
private int m_size
-
-
Constructor Details
-
AttributeStreamOfInt32
public AttributeStreamOfInt32(int size) -
AttributeStreamOfInt32
public AttributeStreamOfInt32(int size, int defaultValue) -
AttributeStreamOfInt32
-
AttributeStreamOfInt32
-
-
Method Details
-
reserve
public void reserve(int reserve) -
size
public int size() -
capacity
public int capacity() -
read
public int read(int offset) Reads a value from the buffer at given offset.- Parameters:
offset
- is the element number in the stream.
-
get
public int get(int offset) -
write
public void write(int offset, int value) Overwrites given element with new value.- Parameters:
offset
- is the element number in the stream.value
- is the value to write.
-
set
public void set(int offset, int value) -
add
public void add(int v) Adds a new value at the end of the stream.- Parameters:
offset
- is the element number in the stream.value
- is the value to write.
-
restrictedClone
Description copied from class:AttributeStreamBase
Creats a copy of the stream that contains upto maxsize elements.- Specified by:
restrictedClone
in classAttributeStreamBase
-
virtualSize
public int virtualSize()Description copied from class:AttributeStreamBase
Returns the number of elements in the stream.- Specified by:
virtualSize
in classAttributeStreamBase
-
estimateMemorySize
public long estimateMemorySize()Description copied from class:AttributeStreamBase
Returns an estimate of this object size in bytes.- Specified by:
estimateMemorySize
in classAttributeStreamBase
- Returns:
- Returns an estimate of this object size in bytes.
-
getPersistence
public int getPersistence()Description copied from class:AttributeStreamBase
Returns the Persistence type of the stream.- Specified by:
getPersistence
in classAttributeStreamBase
-
readAsDbl
public double readAsDbl(int offset) Description copied from class:AttributeStreamBase
Reads given element and returns it as double.- Specified by:
readAsDbl
in classAttributeStreamBase
-
readAsInt
public int readAsInt(int offset) Description copied from class:AttributeStreamBase
Reads given element and returns it as int (truncated if double).- Specified by:
readAsInt
in classAttributeStreamBase
-
readAsInt64
public long readAsInt64(int offset) Description copied from class:AttributeStreamBase
Reads given element and returns it as int (truncated if double).- Specified by:
readAsInt64
in classAttributeStreamBase
-
resize
public void resize(int newSize) Description copied from class:AttributeStreamBase
Resizes the AttributeStream to the new size.- Specified by:
resize
in classAttributeStreamBase
-
resizePreserveCapacity
public void resizePreserveCapacity(int newSize) Description copied from class:AttributeStreamBase
Resizes the AttributeStream to the new size. Does not change the capacity of the stream.- Specified by:
resizePreserveCapacity
in classAttributeStreamBase
-
resize
public void resize(int newSize, double defaultValue) Description copied from class:AttributeStreamBase
Resizes the AttributeStream to the new size.- Specified by:
resize
in classAttributeStreamBase
-
writeAsDbl
public void writeAsDbl(int offset, double d) Description copied from class:AttributeStreamBase
Writes given element as double. The double is cast to the internal representation (truncated when int).- Specified by:
writeAsDbl
in classAttributeStreamBase
-
writeAsInt64
public void writeAsInt64(int offset, long d) Description copied from class:AttributeStreamBase
Writes given element as int. The int is cast to the internal representation.- Specified by:
writeAsInt64
in classAttributeStreamBase
-
writeAsInt
public void writeAsInt(int offset, int d) Description copied from class:AttributeStreamBase
Writes given element as int. The int is cast to the internal representation.- Specified by:
writeAsInt
in classAttributeStreamBase
-
calculateHashImpl
public int calculateHashImpl(int hashCode, int start, int end) - Specified by:
calculateHashImpl
in classAttributeStreamBase
-
equals
- Specified by:
equals
in classAttributeStreamBase
-
getLast
public int getLast() -
setLast
public void setLast(int v) -
removeLast
public void removeLast() -
findElement
int findElement(int value) -
hasElement
boolean hasElement(int value) -
popElement
void popElement(int index) -
addRange
Description copied from class:AttributeStreamBase
Adds a range of elements from the source stream. The streams must be of the same type.- Specified by:
addRange
in classAttributeStreamBase
- Parameters:
src
- The source stream to read elements from.start
- The index of the element in the source stream to start reading from.count
- The number of elements to add.bForward
- True if adding the elements in order of the incoming source stream. False if adding the elements in reverse.stride
- The number of elements to be grouped together if adding the elements in reverse.
-
insertRange
public void insertRange(int start, AttributeStreamBase src, int srcStart, int count, boolean bForward, int stride, int validSize) Description copied from class:AttributeStreamBase
Inserts a range of elements from the source stream. The streams must be of the same type.- Specified by:
insertRange
in classAttributeStreamBase
- Parameters:
start
- The index where to start the insert.src
- The source stream to read elements from.srcStart
- The index of the element in the source stream to start reading from.count
- The number of elements to read from the source stream.validSize
- The number of valid elements in this stream.
-
insertRange
public void insertRange(int start, double value, int count, int validSize) Description copied from class:AttributeStreamBase
Inserts a range of elements of the given value.- Specified by:
insertRange
in classAttributeStreamBase
- Parameters:
start
- The index where to start the insert.value
- The value to be inserted.count
- The number of elements to be inserted.validSize
- The number of valid elements in this stream.
-
insertAttributes
Description copied from class:AttributeStreamBase
Inserts the attributes of a given semantics from a Point geometry.- Specified by:
insertAttributes
in classAttributeStreamBase
- Parameters:
start
- The index where to start the insert.pt
- The Point geometry holding the attributes to be inserted.semantics
- The attribute semantics that are being inserted.validSize
- The number of valid elements in this stream.
-
eraseRange
public void eraseRange(int index, int count, int validSize) Description copied from class:AttributeStreamBase
Erases a range from the buffer and defragments the result.- Specified by:
eraseRange
in classAttributeStreamBase
- Parameters:
index
- The index in this stream where the erasing starts.count
- The number of elements to be erased.validSize
- The number of valid elements in this stream.
-
readRange
Description copied from class:AttributeStreamBase
Write a range of elements to the source byte buffer.- Specified by:
readRange
in classAttributeStreamBase
- Parameters:
srcStart
- The element index to start writing from.count
- The number of AttributeStream elements to write.dst
- The destination ByteBuffer. The buffer must be large enough or it will throw.dstOffset
- The offset in the destination ByteBuffer to start write elements from.
-
reverseRange
public void reverseRange(int index, int count, int stride) Description copied from class:AttributeStreamBase
Reverses a range from the buffer.- Specified by:
reverseRange
in classAttributeStreamBase
- Parameters:
index
- The index in this stream where the reversing starts.count
- The number of elements to be reversed.stride
- The number of elements to be grouped together when doing the reverse.
-
setRange
public void setRange(double value, int start, int count) Description copied from class:AttributeStreamBase
Sets a range of values to given value.- Specified by:
setRange
in classAttributeStreamBase
- Parameters:
value
- The value to set stream elements to.start
- The index of the element to start writing to.count
- The number of elements to set.
-
writeRange
public void writeRange(int startElement, int count, AttributeStreamBase _src, int srcStart, boolean bForward, int stride) Description copied from class:AttributeStreamBase
Adds a range of elements from the source byte buffer. This stream is resized automatically to accomodate required number of elements.- Specified by:
writeRange
in classAttributeStreamBase
- Parameters:
startElement
- the index of the element in this stream to start setting elements from.count
- The number of AttributeStream elements to read._src
- The source ByteBuffer to read elements from.srcStart
- The offset from the start of the ByteBuffer in bytes.bForward
- When False, the source is written in reversed order.stride
- Used for reversed writing only to indicate the unit of writing. elements inside a stride are not reversed. Only the strides are reversed.
-
_selfWriteRangeImpl
private void _selfWriteRangeImpl(int toElement, int count, int fromElement, boolean bForward, int stride) -
writeRange
public void writeRange(int startElement, int count, ByteBuffer src, int offsetBytes, boolean bForward) Description copied from class:AttributeStreamBase
Adds a range of elements from the source byte buffer. The stream is resized automatically to accomodate required number of elements.- Specified by:
writeRange
in classAttributeStreamBase
- Parameters:
startElement
- the index of the element in this stream to start setting elements from.count
- The number of AttributeStream elements to read.src
- The source ByteBuffer to read elements from.offsetBytes
- The offset from the start of the ByteBuffer in bytes.
-
Sort
-
insertionsort
-
swap
void swap(int left, int right) -
quicksort
void quicksort(int leftIn, int rightIn, AttributeStreamOfInt32.IntComparator compare, AttributeStreamOfInt32.RandomSeed seed) -
sort
public void sort(int start, int end) -
writeObject
- Throws:
IOException
-
readObject
- Throws:
IOException
ClassNotFoundException
-
readObjectNoData
- Throws:
ObjectStreamException
-