Interface PVStructureArray

  • All Superinterfaces:
    PVArray, PVField, Serializable, SerializableArray
    All Known Implementing Classes:
    BasePVStructureArray

    public interface PVStructureArray
    extends PVArray
    Get/put a structure array. The caller must be prepared to get/put the array in chunks. The return argument is always the number of elements that were transfered. It may be less than the number requested.
    Author:
    mrk
    • Method Detail

      • getStructureArray

        StructureArray getStructureArray()
        Get the introspection interface.
        Returns:
        The interface.
      • get

        int get​(int offset,
                int length,
                StructureArrayData data)
        Get values from a PVDoubleArray and put them into double[]to
        Parameters:
        offset - the offset to the first element to get
        length - the maximum number of elements to transfer
        data - the class containing the data and an offset into the data. Get sets these values. The caller must do the actual data transfer.
        Returns:
        the number of elements that can be transfered. This is always less than or equal to length. If the value is less then length then get should be called again. If the return value is greater than 0 then data.data is a reference to the array and data.offset is the offset into the array.
      • put

        int put​(int offset,
                int length,
                PVStructure[] from,
                int fromOffset)
        Put values into a PVStructureArray from PVStructure[]from
        Parameters:
        offset - the offset to the first element to put
        length - the maximum number of elements to transfer
        from - the array from which to get the data
        fromOffset - the offset into from
        Returns:
        the number of elements transfered. This is always less than or equal to length. If the value is less than the length then put should be called again.
        Throws:
        IllegalStateException - if the field is not mutable
      • shareData

        void shareData​(PVStructure[] from)
        Share the data from caller. The capacity and length are taken from the array and this array is made immutable. This should only be used to share immutable data.
        Parameters:
        from - the data to share