ucar.ma2
Class ArrayStructure

java.lang.Object
  extended by ucar.ma2.Array
      extended by ucar.ma2.ArrayStructure
Direct Known Subclasses:
ArraySequence, ArrayStructureBB, ArrayStructureMA, ArrayStructureW

public abstract class ArrayStructure
extends Array

Superclass for implementations of Array of StructureData.

Version:
$Revision:51 $ $Date:2006-07-12 17:13:13Z $
Author:
caron
See Also:
Array

Field Summary
 
Fields inherited from class ucar.ma2.Array
scalarIndex
 
Constructor Summary
ArrayStructure(StructureMembers members, int[] shape)
          Create a new Array of type StructureData and the given members and shape.
 
Method Summary
 double convertScalarDouble(int recno, StructureMembers.Member m)
          Convert to double value, with scale, offset if applicable.
 Array copy()
          LOOK DO NOT USE, throws UnsupportedOperationException
 Array createView(Index index)
          LOOK DO NOT USE, throws UnsupportedOperationException
 Array getArray(int recno, StructureMembers.Member m)
          Get member data array of any type as an Array.
 byte[] getArrayByte(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayByte( recnum, m)
 char[] getArrayChar(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayChar( recnum, m)
 double[] getArrayDouble(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayDouble( recnum, m)
 float[] getArrayFloat(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayFloat( recnum, m)
 int[] getArrayInt(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayInt( recnum, m)
 long[] getArrayLong(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayLong( recnum, m)
 short[] getArrayShort(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayShort( recnum, m)
 java.lang.String[] getArrayString(int recnum, StructureMembers.Member m)
          Deprecated. use getJavaArrayString( recnum, m)
abstract  ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m)
          Get member data of type array of Structure.
 boolean getBoolean(Index i)
          DO NOT USE, throw ForbiddenConversionException
 byte getByte(Index i)
          DO NOT USE, throw ForbiddenConversionException
 char getChar(Index i)
          DO NOT USE, throw ForbiddenConversionException
 double getDouble(Index i)
          DO NOT USE, throw ForbiddenConversionException
 java.lang.Class getElementType()
          Get the element class type of this Array
 float getFloat(Index i)
          DO NOT USE, throw ForbiddenConversionException
 int getInt(Index i)
          DO NOT USE, throw ForbiddenConversionException
abstract  byte[] getJavaArrayByte(int recnum, StructureMembers.Member m)
          Get member data of type byte as a 1D array.
abstract  char[] getJavaArrayChar(int recnum, StructureMembers.Member m)
          Get member data of type char as a 1D array.
abstract  double[] getJavaArrayDouble(int recnum, StructureMembers.Member m)
          Get member data of type double as a 1D array.
abstract  float[] getJavaArrayFloat(int recnum, StructureMembers.Member m)
          Get member data of type float as a 1D array.
abstract  int[] getJavaArrayInt(int recnum, StructureMembers.Member m)
          Get member data of type int as a 1D array.
abstract  long[] getJavaArrayLong(int recnum, StructureMembers.Member m)
          Get member data of type long as a 1D array.
abstract  short[] getJavaArrayShort(int recnum, StructureMembers.Member m)
          Get member data of type short as a 1D array.
abstract  java.lang.String[] getJavaArrayString(int recnum, StructureMembers.Member m)
          Get member data of type String as a 1D array.
 long getLong(Index i)
          DO NOT USE, throw ForbiddenConversionException
 java.lang.Object getObject(Index i)
          Get the index-th StructureData of this ArrayStructure.
 java.lang.Object getObject(int index)
          Get the index-th StructureData of this ArrayStructure.
 java.lang.Object getObject(int recno, StructureMembers.Member m)
          Deprecated. use getScalarObject(recno, m);
abstract  byte getScalarByte(int recnum, StructureMembers.Member m)
          Get scalar member data of type byte.
abstract  char getScalarChar(int recnum, StructureMembers.Member m)
          Get scalar member data of type char.
abstract  double getScalarDouble(int recnum, StructureMembers.Member m)
          Get scalar member data of type double.
abstract  float getScalarFloat(int recnum, StructureMembers.Member m)
          Get scalar member data of type float.
abstract  int getScalarInt(int recnum, StructureMembers.Member m)
          Get scalar member data of type int.
abstract  long getScalarLong(int recnum, StructureMembers.Member m)
          Get scalar member data of type long.
 java.lang.Object getScalarObject(int recno, StructureMembers.Member m)
          Get member data array of any type as an Object, eg, Float, Double, String, StructureData etc.
abstract  short getScalarShort(int recnum, StructureMembers.Member m)
          Get scalar member data of type short.
abstract  java.lang.String getScalarString(int recnum, StructureMembers.Member m)
          Get member data of type String or char.
abstract  StructureData getScalarStructure(int recnum, StructureMembers.Member m)
          Get member data of type Structure.
 short getShort(Index i)
          DO NOT USE, throw ForbiddenConversionException
 StructureData getStructureData(Index i)
          Get the index-th StructureData of this ArrayStructure.
 StructureData getStructureData(int index)
          Get the index-th StructureData of this ArrayStructure.
 StructureMembers getStructureMembers()
          Get the structure members.
 int getStructureSize()
          Get the size each StructureData object takes in bytes.
 void setBoolean(Index i, boolean value)
          DO NOT USE, throw ForbiddenConversionException
 void setByte(Index i, byte value)
          DO NOT USE, throw ForbiddenConversionException
 void setChar(Index i, char value)
          DO NOT USE, throw ForbiddenConversionException
 void setDouble(Index i, double value)
          DO NOT USE, throw ForbiddenConversionException
 void setFloat(Index i, float value)
          DO NOT USE, throw ForbiddenConversionException
 void setInt(Index i, int value)
          DO NOT USE, throw ForbiddenConversionException
 void setLong(Index i, long value)
          DO NOT USE, throw ForbiddenConversionException
 void setObject(Index i, java.lang.Object value)
          Set one of the StructureData of this ArrayStructure.
 void setShort(Index i, short value)
          DO NOT USE, throw ForbiddenConversionException
 
Methods inherited from class ucar.ma2.Array
arraycopy, copyTo1DJavaArray, copyToNDJavaArray, factory, factory, factory, factory, factoryConstant, flip, get1DJavaArray, getIndex, getIndexIterator, getIndexIteratorFast, getIndexName, getRangeIterator, getRank, getShape, getSize, getStorage, permute, reduce, reduce, reshape, section, section, section, sectionNoReduce, sectionNoReduce, setIndexName, shapeToString, slice, toString, transpose
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArrayStructure

public ArrayStructure(StructureMembers members,
                      int[] shape)
Create a new Array of type StructureData and the given members and shape. dimensions.length determines the rank of the new Array.

Parameters:
members - a description of the structure members
shape - the shape of the Array.
Method Detail

createView

public Array createView(Index index)
LOOK DO NOT USE, throws UnsupportedOperationException

Parameters:
index - use this Index

copy

public Array copy()
LOOK DO NOT USE, throws UnsupportedOperationException

Overrides:
copy in class Array
Returns:
the new Array

getElementType

public java.lang.Class getElementType()
Description copied from class: Array
Get the element class type of this Array

Specified by:
getElementType in class Array

getStructureMembers

public StructureMembers getStructureMembers()
Get the structure members.


getObject

public java.lang.Object getObject(Index i)
Get the index-th StructureData of this ArrayStructure.

Specified by:
getObject in class Array
Parameters:
i - which one to get, specified by an Index.
Returns:
object of type StructureData.

setObject

public void setObject(Index i,
                      java.lang.Object value)
Set one of the StructureData of this ArrayStructure.

Specified by:
setObject in class Array
Parameters:
i - which one to set, specified by an Index.
value - must be type StructureData.

getObject

public java.lang.Object getObject(int index)
Get the index-th StructureData of this ArrayStructure.

Parameters:
index - which one to get, specified by an integer.
Returns:
object of type StructureData.

getStructureData

public StructureData getStructureData(Index i)
Get the index-th StructureData of this ArrayStructure.

Parameters:
i - which one to get, specified by an Index.
Returns:
object of type StructureData.

getStructureData

public StructureData getStructureData(int index)
Get the index-th StructureData of this ArrayStructure.

Parameters:
index - which one to get, specified by an integer.
Returns:
object of type StructureData.

getStructureSize

public int getStructureSize()
Get the size each StructureData object takes in bytes.


getArray

public Array getArray(int recno,
                      StructureMembers.Member m)
Get member data array of any type as an Array.

Parameters:
recno - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member.
Returns:
Array values.

getObject

public java.lang.Object getObject(int recno,
                                  StructureMembers.Member m)
Deprecated. use getScalarObject(recno, m);


getScalarObject

public java.lang.Object getScalarObject(int recno,
                                        StructureMembers.Member m)
Get member data array of any type as an Object, eg, Float, Double, String, StructureData etc.

Parameters:
recno - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member.
Returns:
value as Float, Double, etc..

getScalarDouble

public abstract double getScalarDouble(int recnum,
                                       StructureMembers.Member m)
Get scalar member data of type double.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type double.
Returns:
scalar double value

getJavaArrayDouble

public abstract double[] getJavaArrayDouble(int recnum,
                                            StructureMembers.Member m)
Get member data of type double as a 1D array. The member data may be any rank.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type double.
Returns:
double[]

getArrayDouble

public double[] getArrayDouble(int recnum,
                               StructureMembers.Member m)
Deprecated. use getJavaArrayDouble( recnum, m)


getScalarFloat

public abstract float getScalarFloat(int recnum,
                                     StructureMembers.Member m)
Get scalar member data of type float.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type float.
Returns:
scalar double value

getJavaArrayFloat

public abstract float[] getJavaArrayFloat(int recnum,
                                          StructureMembers.Member m)
Get member data of type float as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type float.
Returns:
float[]

getArrayFloat

public float[] getArrayFloat(int recnum,
                             StructureMembers.Member m)
Deprecated. use getJavaArrayFloat( recnum, m)


getScalarByte

public abstract byte getScalarByte(int recnum,
                                   StructureMembers.Member m)
Get scalar member data of type byte.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type byte.
Returns:
scalar double value

getJavaArrayByte

public abstract byte[] getJavaArrayByte(int recnum,
                                        StructureMembers.Member m)
Get member data of type byte as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type byte.
Returns:
byte[]

getArrayByte

public byte[] getArrayByte(int recnum,
                           StructureMembers.Member m)
Deprecated. use getJavaArrayByte( recnum, m)


getScalarShort

public abstract short getScalarShort(int recnum,
                                     StructureMembers.Member m)
Get scalar member data of type short.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type short.
Returns:
scalar double value

getJavaArrayShort

public abstract short[] getJavaArrayShort(int recnum,
                                          StructureMembers.Member m)
Get member data of type short as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type float.
Returns:
short[]

getArrayShort

public short[] getArrayShort(int recnum,
                             StructureMembers.Member m)
Deprecated. use getJavaArrayShort( recnum, m)


getScalarInt

public abstract int getScalarInt(int recnum,
                                 StructureMembers.Member m)
Get scalar member data of type int.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type int.
Returns:
scalar double value

getJavaArrayInt

public abstract int[] getJavaArrayInt(int recnum,
                                      StructureMembers.Member m)
Get member data of type int as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type int.
Returns:
int[]

getArrayInt

public int[] getArrayInt(int recnum,
                         StructureMembers.Member m)
Deprecated. use getJavaArrayInt( recnum, m)


getScalarLong

public abstract long getScalarLong(int recnum,
                                   StructureMembers.Member m)
Get scalar member data of type long.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type long.
Returns:
scalar double value

getJavaArrayLong

public abstract long[] getJavaArrayLong(int recnum,
                                        StructureMembers.Member m)
Get member data of type long as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type long.
Returns:
long[]

getArrayLong

public long[] getArrayLong(int recnum,
                           StructureMembers.Member m)
Deprecated. use getJavaArrayLong( recnum, m)


getScalarChar

public abstract char getScalarChar(int recnum,
                                   StructureMembers.Member m)
Get scalar member data of type char.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type char.
Returns:
scalar double value

getJavaArrayChar

public abstract char[] getJavaArrayChar(int recnum,
                                        StructureMembers.Member m)
Get member data of type char as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type char.
Returns:
char[]

getArrayChar

public char[] getArrayChar(int recnum,
                           StructureMembers.Member m)
Deprecated. use getJavaArrayChar( recnum, m)


getScalarString

public abstract java.lang.String getScalarString(int recnum,
                                                 StructureMembers.Member m)
Get member data of type String or char.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type String or char.
Returns:
scalar String value

getJavaArrayString

public abstract java.lang.String[] getJavaArrayString(int recnum,
                                                      StructureMembers.Member m)
Get member data of type String as a 1D array.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type String.
Returns:
String[]

getArrayString

public java.lang.String[] getArrayString(int recnum,
                                         StructureMembers.Member m)
Deprecated. use getJavaArrayString( recnum, m)


getScalarStructure

public abstract StructureData getScalarStructure(int recnum,
                                                 StructureMembers.Member m)
Get member data of type Structure.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type Structure.
Returns:
scalar StructureData

getArrayStructure

public abstract ArrayStructure getArrayStructure(int recnum,
                                                 StructureMembers.Member m)
Get member data of type array of Structure.

Parameters:
recnum - get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
m - get data from this StructureMembers.Member. Must be of type Structure.
Returns:
nested ArrayStructure.

convertScalarDouble

public double convertScalarDouble(int recno,
                                  StructureMembers.Member m)
Convert to double value, with scale, offset if applicable. Underlying type must be convertible to double.

Parameters:
m - member Variable.
Throws:
java.lang.IllegalArgumentException - if m is not legal member.
ForbiddenConversionException - if not convertible to float.

getDouble

public double getDouble(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getDouble in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to double if necessary.

setDouble

public void setDouble(Index i,
                      double value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setDouble in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getFloat

public float getFloat(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getFloat in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to float if necessary.

setFloat

public void setFloat(Index i,
                     float value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setFloat in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getLong

public long getLong(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getLong in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to long if necessary.

setLong

public void setLong(Index i,
                    long value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setLong in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getInt

public int getInt(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getInt in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to int if necessary.

setInt

public void setInt(Index i,
                   int value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setInt in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getShort

public short getShort(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getShort in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to short if necessary.

setShort

public void setShort(Index i,
                     short value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setShort in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getByte

public byte getByte(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getByte in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to float if necessary.

setByte

public void setByte(Index i,
                    byte value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setByte in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getBoolean

public boolean getBoolean(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getBoolean in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to boolean if necessary.

setBoolean

public void setBoolean(Index i,
                       boolean value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setBoolean in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.

getChar

public char getChar(Index i)
DO NOT USE, throw ForbiddenConversionException

Specified by:
getChar in class Array
Parameters:
i - Index with current element set
Returns:
value at index cast to char if necessary.

setChar

public void setChar(Index i,
                    char value)
DO NOT USE, throw ForbiddenConversionException

Specified by:
setChar in class Array
Parameters:
i - Index with current element set
value - the new value; cast to underlying data type if necessary.