jfreerails.util
Class IntArray

java.lang.Object
  extended by jfreerails.util.GrowableBase
      extended by jfreerails.util.ArrayBase
          extended by jfreerails.util.IntArray
All Implemented Interfaces:
java.io.Serializable

public class IntArray
extends ArrayBase
implements java.io.Serializable

Growable int array with type specific access methods. This implementation is unsynchronized in order to provide the best possible performance for typical usage scenarios, so explicit synchronization must be implemented by a wrapper class or directly by the application in cases where instances are modified in a multithreaded environment. See the base classes for other details of the implementation.

Version:
1.0
Author:
Dennis M. Sosnoski
See Also:
Serialized Form

Field Summary
protected  int[] baseArray
          The underlying array used for storing the data.
private static long serialVersionUID
           
 
Fields inherited from class jfreerails.util.ArrayBase
countPresent
 
Fields inherited from class jfreerails.util.GrowableBase
countLimit, DEFAULT_SIZE, maximumGrowth
 
Constructor Summary
IntArray()
          Default constructor.
IntArray(int size)
          Constructor with only initial size specified.
IntArray(IntArray base)
          Copy (clone) constructor.
IntArray(int size, int growth)
          Constructor with full specification.
 
Method Summary
 int add(int value)
          Add a value to the array, appending it after the current values.
 void add(int index, int value)
          Add a value at a specified index in the array.
 java.lang.Object clone()
          Duplicates the object with the generic call.
 int get(int index)
          Retrieve the value present at an index position in the array.
protected  java.lang.Object getArray()
          Get the backing array.
 void set(int index, int value)
          Set the value at an index position in the array.
protected  void setArray(java.lang.Object array)
          Set the backing array.
 int[] toArray()
          Constructs and returns a simple array containing the same data as held in this growable array.
 int[] toArray(int offset, int length)
          Constructs and returns a simple array containing the same data as held in a portion of this growable array.
 
Methods inherited from class jfreerails.util.ArrayBase
buildArray, clear, getAddIndex, getArray, makeInsertSpace, remove, remove, setSize, size
 
Methods inherited from class jfreerails.util.GrowableBase
discardValues, ensureCapacity, growArray, resizeCopy
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

baseArray

protected int[] baseArray
The underlying array used for storing the data.

Constructor Detail

IntArray

public IntArray(int size,
                int growth)
Constructor with full specification.

Parameters:
size - number of int values initially allowed in array
growth - maximum size increment for growing array

IntArray

public IntArray(int size)
Constructor with only initial size specified.

Parameters:
size - number of int values initially allowed in array

IntArray

public IntArray()
Default constructor.


IntArray

public IntArray(IntArray base)
Copy (clone) constructor.

Parameters:
base - instance being copied
Method Detail

getArray

protected final java.lang.Object getArray()
Get the backing array. This method is used by the type-agnostic base class code to access the array used for type-specific storage.

Specified by:
getArray in class GrowableBase
Returns:
backing array object

setArray

protected final void setArray(java.lang.Object array)
Set the backing array. This method is used by the type-agnostic base class code to set the array used for type-specific storage.

Specified by:
setArray in class GrowableBase

add

public final int add(int value)
Add a value to the array, appending it after the current values.

Parameters:
value - value to be added
Returns:
index number of added element

add

public void add(int index,
                int value)
Add a value at a specified index in the array.

Parameters:
index - index position at which to insert element
value - value to be inserted into array

get

public final int get(int index)
Retrieve the value present at an index position in the array.

Parameters:
index - index position for value to be retrieved
Returns:
value from position in the array

set

public final void set(int index,
                      int value)
Set the value at an index position in the array.

Parameters:
index - index position to be set
value - value to be set

toArray

public int[] toArray()
Constructs and returns a simple array containing the same data as held in this growable array.

Returns:
array containing a copy of the data

toArray

public int[] toArray(int offset,
                     int length)
Constructs and returns a simple array containing the same data as held in a portion of this growable array.

Parameters:
offset - start offset in array
length - number of characters to use
Returns:
array containing a copy of the data

clone

public java.lang.Object clone()
Duplicates the object with the generic call.

Overrides:
clone in class java.lang.Object
Returns:
a copy of the object