Package ucar.ma2
Class StructureData
java.lang.Object
ucar.ma2.StructureData
- Direct Known Subclasses:
StructureDataA,StructureDataComposite,StructureDataProxy,StructureDataW
A container for a Structure's data.
Is normally contained within an ArrayStructure, which is an Array of StructureData.
This is the abstract supertype for all implementations.
for (Iterator iter = sdata.getMembers().iterator(); iter.hasNext(); ) {
StructureMembers.Member m = (StructureMembers.Member) iter.next();
Array sdataArray = sdata.getArray(m);
...
}
General ways to access data in an StructureData are:
Array getArray(Member m)
Array getArray(String memberName)The following will return an object of type Byte, Char, Double, Float, Int, Long, Short, String, or Structure, depending upon the member type:
Object getScalarObject( Member m)A number of convenience routines may be able to avoid extra Object creation, and so are recommended for efficiency. These require that you know the data types of the member data, but they are the most efficent:
getScalarXXX(int recnum, Member m) getJavaArrayXXX(int recnum, Member m)where XXX is Byte, Char, Double, Float, Int, Long, Short, or String. For members that are themselves Structures, the equivilent is:
StructureData getScalarStructure(int recnum, Member m) ArrayStructure getArrayStructure(int recnum, Member m)These will return any compatible type as a double or float, but may have extra overhead when the types dont match:
convertScalarXXX(int recnum, Member m) convertJavaArrayXXX(int recnum, Member m)where XXX is Double or Float
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondoubleconvertScalarDouble(String memberName) Get scalar value as a double, with conversion as needed.abstract doubleGet scalar value as a double, with conversion as needed.floatconvertScalarFloat(String memberName) Get scalar value as a float, with conversion as needed.abstract floatGet scalar value as a float, with conversion as needed.intconvertScalarInt(String memberName) Get scalar value as a int, with conversion as needed.abstract intGet scalar value as a int, with conversion as needed.longconvertScalarLong(String memberName) Get scalar value as a int, with conversion as needed.abstract longGet scalar value as a int, with conversion as needed.findMember(String memberName) Find a member by its name.Get member data array of any type as an Array.abstract ArrayGet member data array of any type as an Array.getArraySequence(String memberName) Get ArraySequence for a member of type Sequence.abstract ArraySequenceGet ArraySequence for a member of type Sequence.getArrayStructure(String memberName) Get member data of type Structure.abstract ArrayStructureGet ArrayStructure for a member of type Structure.byte[]getJavaArrayByte(String memberName) Get java byte array for a member of type byte.abstract byte[]Get java byte array for a member of type byte.char[]getJavaArrayChar(String memberName) Get java char array for a member of type char.abstract char[]Get java char array for a member of type char.double[]getJavaArrayDouble(String memberName) Get java double array for a member of type double.abstract double[]Get java double array for a member of type double.float[]getJavaArrayFloat(String memberName) Get java float array for a member of type float.abstract float[]Get java float array for a member of type float.int[]getJavaArrayInt(String memberName) Get java int array for a member of type int.abstract int[]Get java int array for a member of type int.long[]getJavaArrayLong(String memberName) Get java long array for a member of type long.abstract long[]Get java long array for a member of type long.short[]getJavaArrayShort(String memberName) Get java short array for a member of type short.abstract short[]Get java short array for a member of type short.String[]getJavaArrayString(String memberName) Get java String array for a member of type String.abstract String[]Get java array of Strings for a member of type char or String.getName()bytegetScalarByte(String memberName) Get member data of type byte.abstract byteGet member data of type byte.chargetScalarChar(String memberName) Get member data of type char.abstract charGet member data of type char.doublegetScalarDouble(String memberName) Get member data of type double.abstract doubleGet member data of type double.floatgetScalarFloat(String memberName) Get member data of type float.abstract floatGet member data of type float.intgetScalarInt(String memberName) Get member data of type int.abstract intGet member data of type int.longgetScalarLong(String memberName) Get member data of type long.abstract longGet member data of type long.getScalarObject(String memberName) Get member data array of any type as an Object, eg, Float, Double, String etc.Get member data array of any type as an Object, eg, Float, Double, String etc.shortgetScalarShort(String memberName) Get member data of type short.abstract shortGet member data of type short.getScalarString(String memberName) Get String value, from rank 0 String or rank 1 char member array.abstract StringGet String value, from rank 0 String or rank 1 char member array.getScalarStructure(String memberName) Get member data of type Structure.abstract StructureDataGet member data of type Structure.voidshowInternal(Formatter f, Indent indent) voidshowInternalMembers(Formatter f, Indent indent) toString()
-
Field Details
-
EMPTY
-
-
Method Details
-
getName
- Returns:
- name of Structure
-
getStructureMembers
- Returns:
- StructureMembers object
-
getMembers
- Returns:
- List of StructureMembers.Member
-
findMember
Find a member by its name.- Parameters:
memberName- find member with this name- Returns:
- StructureMembers.Member matching the name, or null if not found
-
getArray
Get member data array of any type as an Array.- Parameters:
m- get data from this StructureMembers.Member.- Returns:
- Array values.
-
getArray
Get member data array of any type as an Array. For more efficiency, use getScalarXXX(Member) or getJavaArrayXXX(Member) is possible.- Parameters:
memberName- name of member Variable.- Returns:
- member data array of any type as an Array.
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarObject
Get member data array of any type as an Object, eg, Float, Double, String etc.- Parameters:
memberName- name of member Variable.- Returns:
- value as Float, Double, etc..
-
getScalarObject
Get member data array of any type as an Object, eg, Float, Double, String etc.- Parameters:
m- get data from this StructureMembers.Member.- Returns:
- value as Float, Double, etc..
-
convertScalarFloat
Get scalar value as a float, with conversion as needed. Underlying type must be convertible to float.- Parameters:
memberName- name of member Variable. Must be convertible to float.- Returns:
- scalar value as a float
- Throws:
ForbiddenConversionException- if not convertible to float.
-
convertScalarFloat
Get scalar value as a float, with conversion as needed. Underlying type must be convertible to float.- Parameters:
m- member Variable.- Returns:
- scalar value as a float
- Throws:
ForbiddenConversionException- if not convertible to float.
-
convertScalarDouble
Get scalar value as a double, with conversion as needed. Underlying type must be convertible to double.- Parameters:
memberName- name of member Variable. Must be convertible to double.- Returns:
- scalar value as a double
- Throws:
ForbiddenConversionException- if not convertible to double.
-
convertScalarDouble
Get scalar value as a double, with conversion as needed. Underlying type must be convertible to double.- Parameters:
m- member Variable.- Returns:
- scalar value as a double
- Throws:
ForbiddenConversionException- if not convertible to double.
-
convertScalarInt
Get scalar value as a int, with conversion as needed. Underlying type must be convertible to int.- Parameters:
memberName- name of member Variable. Must be convertible to double.- Returns:
- scalar value as a int
- Throws:
ForbiddenConversionException- if not convertible to int.
-
convertScalarInt
Get scalar value as a int, with conversion as needed. Underlying type must be convertible to int.- Parameters:
m- member Variable.- Returns:
- scalar value as a int
- Throws:
ForbiddenConversionException- if not convertible to int.
-
convertScalarLong
Get scalar value as a int, with conversion as needed. Underlying type must be convertible to int.- Parameters:
memberName- name of member Variable. Must be convertible to double.- Returns:
- scalar value as a int
- Throws:
ForbiddenConversionException- if not convertible to int.
-
convertScalarLong
Get scalar value as a int, with conversion as needed. Underlying type must be convertible to int.- Parameters:
m- member Variable.- Returns:
- scalar value as a int
- Throws:
ForbiddenConversionException- if not convertible to int.
-
getScalarDouble
Get member data of type double.- Parameters:
memberName- name of member Variable. Must be of type double.- Returns:
- scalar value as a double
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarDouble
Get member data of type double.- Parameters:
m- get data from this StructureMembers.Member. Must be of type double.- Returns:
- scalar double value
-
getJavaArrayDouble
Get java double array for a member of type double.- Parameters:
memberName- name of member Variable. Must be of type double.- Returns:
- 1D java array of doubles
-
getJavaArrayDouble
Get java double array for a member of type double.- Parameters:
m- get data from this StructureMembers.Member. Must be of type double.- Returns:
- 1D java array of doubles
-
getScalarFloat
Get member data of type float.- Parameters:
memberName- name of member Variable. Must be of type float.- Returns:
- scalar float value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarFloat
Get member data of type float.- Parameters:
m- get data from this StructureMembers.Member. Must be of type float.- Returns:
- scalar double value
-
getJavaArrayFloat
Get java float array for a member of type float.- Parameters:
memberName- name of member Variable. Must be of type float.- Returns:
- 1D java array of floats
-
getJavaArrayFloat
Get java float array for a member of type float.- Parameters:
m- get data from this StructureMembers.Member. Must be of type float.- Returns:
- 1D java array of floats
-
getScalarByte
Get member data of type byte.- Parameters:
memberName- name of member Variable. Must be of type byte.- Returns:
- scalar byte value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarByte
Get member data of type byte.- Parameters:
m- get data from this StructureMembers.Member. Must be of type byte.- Returns:
- scalar byte value
-
getJavaArrayByte
Get java byte array for a member of type byte.- Parameters:
memberName- name of member Variable. Must be of type byte.- Returns:
- 1D java array of bytes
-
getJavaArrayByte
Get java byte array for a member of type byte.- Parameters:
m- get data from this StructureMembers.Member. Must be of type byte.- Returns:
- 1D java array of bytes
-
getScalarInt
Get member data of type int.- Parameters:
memberName- name of member Variable. Must be of type int.- Returns:
- scalar int value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarInt
Get member data of type int.- Parameters:
m- get data from this StructureMembers.Member. Must be of type int.- Returns:
- scalar int value
-
getJavaArrayInt
Get java int array for a member of type int.- Parameters:
memberName- name of member Variable. Must be of type int.- Returns:
- 1D java array of ints
-
getJavaArrayInt
Get java int array for a member of type int.- Parameters:
m- get data from this StructureMembers.Member. Must be of type int.- Returns:
- 1D java array of ints
-
getScalarShort
Get member data of type short.- Parameters:
memberName- name of member Variable. Must be of type short.- Returns:
- scalar short value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarShort
Get member data of type short.- Parameters:
m- get data from this StructureMembers.Member. Must be of type short.- Returns:
- scalar short value
-
getJavaArrayShort
Get java short array for a member of type short.- Parameters:
memberName- name of member Variable. Must be of type short.- Returns:
- 1D java array of shorts
-
getJavaArrayShort
Get java short array for a member of type short.- Parameters:
m- get data from this StructureMembers.Member. Must be of type short.- Returns:
- 1D java array of shorts
-
getScalarLong
Get member data of type long.- Parameters:
memberName- name of member Variable. Must be of type long.- Returns:
- scalar long value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarLong
Get member data of type long.- Parameters:
m- get data from this StructureMembers.Member. Must be of type long.- Returns:
- scalar long value
-
getJavaArrayLong
Get java long array for a member of type long.- Parameters:
memberName- name of member Variable. Must be of type long.- Returns:
- 1D java array of longs
-
getJavaArrayLong
Get java long array for a member of type long.- Parameters:
m- get data from this StructureMembers.Member. Must be of type long.- Returns:
- 1D java array of longs
-
getScalarChar
Get member data of type char.- Parameters:
memberName- name of member Variable. Must be of type char.- Returns:
- scalar char value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarChar
Get member data of type char.- Parameters:
m- get data from this StructureMembers.Member. Must be of type char.- Returns:
- scalar char value
-
getJavaArrayChar
Get java char array for a member of type char.- Parameters:
memberName- name of member Variable. Must be of type char.- Returns:
- 1D java array of chars
-
getJavaArrayChar
Get java char array for a member of type char.- Parameters:
m- get data from this StructureMembers.Member. Must be of type char.- Returns:
- 1D java array of chars
-
getScalarString
Get String value, from rank 0 String or rank 1 char member array.- Parameters:
memberName- name of member Variable.- Returns:
- scalar String value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarString
Get String value, from rank 0 String or rank 1 char member array.- Parameters:
m- get data from this StructureMembers.Member. Must be of type char or String.- Returns:
- scalar String value
-
getJavaArrayString
Get java String array for a member of type String.- Parameters:
memberName- name of member Variable. Must be of type char or String.- Returns:
- 1D java array of String
-
getJavaArrayString
Get java array of Strings for a member of type char or String.- Parameters:
m- get data from this StructureMembers.Member. Must be of type char or String.- Returns:
- 1D java array of String
-
getScalarStructure
Get member data of type Structure.- Parameters:
memberName- name of member Variable.- Returns:
- scalar StructureData value
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getScalarStructure
Get member data of type Structure.- Parameters:
m- get data from this StructureMembers.Member. Must be of type Structure.- Returns:
- StructureData
-
getArrayStructure
Get member data of type Structure.- Parameters:
memberName- name of member Variable.- Returns:
- array of StructureData
- Throws:
IllegalArgumentException- if name is not legal member name.
-
getArrayStructure
Get ArrayStructure for a member of type Structure.- Parameters:
m- get data from this StructureMembers.Member. Must be of type Structure.- Returns:
- ArrayStructure
-
getArraySequence
Get ArraySequence for a member of type Sequence.- Parameters:
memberName- name of member Variable. Must be of type Sequence.- Returns:
- ArrayStructure
-
getArraySequence
Get ArraySequence for a member of type Sequence.- Parameters:
m- get data from this StructureMembers.Member. Must be of type Sequence.- Returns:
- ArrayStructure
-
showInternal
-
showInternalMembers
-
toString
-