Package ucar.array

Class StructureDataArray

  • All Implemented Interfaces:
    Iterable<StructureData>

    @Immutable
    public final class StructureDataArray
    extends Array<StructureData>
    Concrete implementation of Array specialized for StructureData. Not really immutable, since Storage<StructureData> may not be, but thats hidden to the consumer.
    • Constructor Detail

      • StructureDataArray

        public StructureDataArray​(StructureMembers members,
                                  int[] shape,
                                  StructureData[] parray)
        Create an Array of type StructureData and the given shape and storage. Ok if parray is bigger than shape.
      • StructureDataArray

        public StructureDataArray​(StructureMembers members,
                                  int[] shape,
                                  Storage<StructureData> storage)
        Create an Array of type StructureData and the given shape and storage.
    • Method Detail

      • getStructureMembers

        public StructureMembers getStructureMembers()
        Get the StructureMembers.
      • getStructureMemberNames

        public List<String> getStructureMemberNames()
        Get a list of structure member names.
      • get

        public StructureData get​(int... index)
        Description copied from class: Array
        Get the element indicated by the list of multidimensional indices.
        Specified by:
        get in class Array<StructureData>
        Parameters:
        index - list of indices, one for each dimension. For vlen, the last is ignored.
      • getStructureSize

        public int getStructureSize()
        Get the size of one StructureData in bytes.
      • extractMemberArray

        public Array<?> extractMemberArray​(StructureMembers.Member m)
        Extract data for one member, over all structures in this StructureDataArray. The resulting shape is the structure shape appended to the member's shape.
        Parameters:
        m - get all data for this StructureMembers.Member.
      • extractNestedMemberArray

        public Array<?> extractNestedMemberArray​(StructureMembers.Member nestedStruct,
                                                 StructureMembers.Member m)
        Extract data for one member, over all nested structures in this StructureDataArray. The resulting shape is the structure shape appended to the member's shape.
        Parameters:
        nestedStruct - the parent Stucture of m.
        m - get all data for this StructureMembers.Member.