cdm/src/main/java/ucar/ma2/ArrayStructure.java
public Array getArray(int recno, StructureMembers.Member m) {

    DataType dataType = m.getDataType();
    switch (dataType) {

      case DOUBLE:
        double[] da = getJavaArrayDouble(recno, m);
        return Array.factory(dataType, m.getShape(), da);

      case FLOAT:
        float[] fa = getJavaArrayFloat(recno, m);
        return Array.factory(dataType, m.getShape(), fa);

      case BYTE:
      case UBYTE:
      case ENUM1:
        byte[] ba = getJavaArrayByte(recno, m);
        return Array.factory(dataType, m.getShape(), ba);

      case SHORT:
      case USHORT:
      case ENUM2:
        short[] sa = getJavaArrayShort(recno, m);
        return Array.factory(dataType, m.getShape(), sa);

      case INT:
      case UINT:
      case ENUM4:
        int[] ia = getJavaArrayInt(recno, m);
        return Array.factory(dataType, m.getShape(), ia);

      case ULONG:
      case LONG:
        long[] la = getJavaArrayLong(recno, m);
        return Array.factory(dataType, m.getShape(), la);

      case CHAR:
        char[] ca = getJavaArrayChar(recno, m);
        return Array.factory(dataType, m.getShape(), ca);

      case STRING:
        String[] str = getJavaArrayString(recno, m);
        return Array.factory(dataType, m.getShape(), str);

      case STRUCTURE:
        return getArrayStructure(recno, m);

      case SEQUENCE:
        return getArraySequence(recno, m);

      case OPAQUE:
        return getArrayObject(recno, m);
    }

    throw new RuntimeException("Dont have implemenation for " + dataType);


  }
public Array getArray(int recno, StructureMembers.Member m) {

    DataType dataType = m.getDataType();
    switch (dataType) {

      case DOUBLE:
        double[] da = getJavaArrayDouble(recno, m);
        return Array.factory(dataType, m.getShape(), da);

      case FLOAT:
        float[] fa = getJavaArrayFloat(recno, m);
        return Array.factory(dataType, m.getShape(), fa);

      case BYTE:
      case UBYTE:
      case ENUM1:
        byte[] ba = getJavaArrayByte(recno, m);
        return Array.factory(dataType, m.getShape(), ba);

      case SHORT:
      case USHORT:
      case ENUM2:
        short[] sa = getJavaArrayShort(recno, m);
        return Array.factory(dataType, m.getShape(), sa);

      case INT:
      case UINT:
      case ENUM4:
        int[] ia = getJavaArrayInt(recno, m);
        return Array.factory(dataType, m.getShape(), ia);

      case ULONG:
      case LONG:
        long[] la = getJavaArrayLong(recno, m);
        return Array.factory(dataType, m.getShape(), la);

      case CHAR:
        char[] ca = getJavaArrayChar(recno, m);
        return Array.factory(dataType, m.getShape(), ca);

      case STRING:
        String[] str = getJavaArrayString(recno, m);
        return Array.factory(dataType, m.getShape(), str);

      case STRUCTURE:
        return getArrayStructure(recno, m);

      case SEQUENCE:
        return getArraySequence(recno, m);

      case OPAQUE:
        return getArrayObject(recno, m);
    }

    throw new RuntimeException("Dont have implemenation for " + dataType);


  }
public Array getArray ( int recno , StructureMembers . Member m ) { DataType dataType = m . getDataType ( ) ; switch ( dataType ) { case DOUBLE : double [ ] da = getJavaArrayDouble ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , da ) ; case FLOAT : float [ ] fa = getJavaArrayFloat ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , fa ) ; case BYTE : case UBYTE : case ENUM1 : byte [ ] ba = getJavaArrayByte ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , ba ) ; case SHORT : case USHORT : case ENUM2 : short [ ] sa = getJavaArrayShort ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , sa ) ; case INT : case UINT : case ENUM4 : int [ ] ia = getJavaArrayInt ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , ia ) ; case ULONG : case LONG : long [ ] la = getJavaArrayLong ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , la ) ; case CHAR : char [ ] ca = getJavaArrayChar ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , ca ) ; case STRING : String [ ] str = getJavaArrayString ( recno , m ) ; return Array . factory ( dataType , m . getShape ( ) , str ) ; case STRUCTURE : return getArrayStructure ( recno , m ) ; case SEQUENCE : return getArraySequence ( recno , m ) ; case OPAQUE : return getArrayObject ( recno , m ) ; } throw new RuntimeException ( "Dont have implemenation for " + dataType ) ; }
Get member data of any type for a specific record as an Array.
This may avoid the overhead of creating the StructureData object, but is equivilent to
getStructure(recno).getArray( Member m).

@param recno get data from the recnum-th StructureData of the ArrayStructure. Must be less than getSize();
@param m     get data from this StructureMembers.Member.
@return Array values.
Get member data of any type for a specific record as an Array . This may avoid the overhead of creating the StructureData object but is equivilent to getStructure ( recno ) . getArray ( Member m ) .