Class ProductData.Double

java.lang.Object
org.esa.snap.core.datamodel.ProductData
org.esa.snap.core.datamodel.ProductData.Double
All Implemented Interfaces:
Cloneable
Enclosing class:
ProductData

public static class ProductData.Double extends ProductData
The ProductData.Float class is a ProductData specialisation for 64-bit floating point fields.

Internally, data is stored in an array of the type double[].

  • Field Details

    • _array

      protected double[] _array
      The internal data array holding this value's data elements.
  • Constructor Details

    • Double

      public Double(double[] array)
      Constructs a new Double instance for the given array reference.
      Parameters:
      array - the array reference
    • Double

      public Double(int numElems)
      Constructs a new Double instance with the given number of elements.
      Parameters:
      numElems - the number of elements, must not be less than one
  • Method Details

    • createDeepClone

      protected ProductData createDeepClone()
      Retuns a "deep" copy of this product data.
      Specified by:
      createDeepClone in class ProductData
      Returns:
      a copy of this product data
    • getNumElems

      public int getNumElems()
      Returns the number of data elements this value has.
      Specified by:
      getNumElems in class ProductData
    • getElemIntAt

      public int getElemIntAt(int index)
      Specified by:
      getElemIntAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • getElemUIntAt

      public long getElemUIntAt(int index)
      Specified by:
      getElemUIntAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • getElemLongAt

      public long getElemLongAt(int index)
      Specified by:
      getElemLongAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • getElemFloatAt

      public float getElemFloatAt(int index)
      Specified by:
      getElemFloatAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • getElemDoubleAt

      public double getElemDoubleAt(int index)
      Specified by:
      getElemDoubleAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • getElemStringAt

      public String getElemStringAt(int index)
      Specified by:
      getElemStringAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
    • setElemIntAt

      public void setElemIntAt(int index, int value)
      Specified by:
      setElemIntAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
      value - the value to be set
    • setElemUIntAt

      public void setElemUIntAt(int index, long value)
      Specified by:
      setElemUIntAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
      value - the value to be set
    • setElemLongAt

      public void setElemLongAt(int index, long value)
      Description copied from class: ProductData
      Sets the value at the specified index as a long.
      Specified by:
      setElemLongAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
      value - the value to be set
    • setElemFloatAt

      public void setElemFloatAt(int index, float value)
      Specified by:
      setElemFloatAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
      value - the value to be set
    • setElemDoubleAt

      public void setElemDoubleAt(int index, double value)
      Specified by:
      setElemDoubleAt in class ProductData
      Parameters:
      index - the value index, must be >=0 and <getNumDataElems()
      value - the value to be set
    • getArray

      public final double[] getArray()
      Returns the internal data array holding this value's data elements.
      Returns:
      the internal data array, never null
    • getElems

      public Object getElems()
      Gets the actual value value(s). The value returned can safely been casted to an array object of the type double[].
      Specified by:
      getElems in class ProductData
      Returns:
      this value's value, always a double[], never null
    • setElems

      public void setElems(Object data)
      Sets the data of this value. The data must be an array of the type float[] or String[] and have a length that is equal to the value returned by the getNumDataElems method.
      Specified by:
      setElems in class ProductData
      Parameters:
      data - the data array
      Throws:
      IllegalArgumentException - if data is null or it is not an array of the required type or does not have the required array length.
    • readFrom

      public void readFrom(int startPos, int numElems, ImageInputStream source) throws IOException
      Specified by:
      readFrom in class ProductData
      Parameters:
      startPos - the destination start position (zero-based)
      numElems - the number of elements to read
      source - a seekable data input stream
      Throws:
      IOException - if an I/O error occurs
    • writeTo

      public void writeTo(int sourceStartPos, int numSourceElems, ImageOutputStream destination) throws IOException
      Specified by:
      writeTo in class ProductData
      Parameters:
      sourceStartPos - the source start position (zero-based)
      numSourceElems - the number of elements to be written
      destination - a seekable data output stream
      Throws:
      IOException - if an I/O error occurs
    • dispose

      public void dispose()
      Releases all of the resources used by this object instance and all of its owned children. Its primary use is to allow the garbage collector to perform a vanilla job.

      This method should be called only if it is for sure that this object instance will never be used again. The results of referencing an instance of this class after a call to dispose() are undefined.

      Overrides of this method should always call super.dispose(); after disposing this instance.

      Specified by:
      dispose in class ProductData