Package org.esa.snap.core.datamodel
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
TheProductData.Float
class is aProductData
specialisation for 64-bit floating point fields.Internally, data is stored in an array of the type
double[]
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.esa.snap.core.datamodel.ProductData
ProductData.ASCII, ProductData.Byte, ProductData.Double, ProductData.Float, ProductData.Int, ProductData.Long, ProductData.Short, ProductData.UByte, ProductData.UInt, ProductData.UShort, ProductData.UTC
-
-
Field Summary
Fields Modifier and Type Field Description protected double[]
_array
The internal data array holding this value's data elements.-
Fields inherited from class org.esa.snap.core.datamodel.ProductData
TYPE_ASCII, TYPE_FLOAT32, TYPE_FLOAT64, TYPE_INT16, TYPE_INT32, TYPE_INT64, TYPE_INT8, TYPE_UINT16, TYPE_UINT32, TYPE_UINT64, TYPE_UINT8, TYPE_UNDEFINED, TYPE_UTC, TYPESTRING_ASCII, TYPESTRING_FLOAT32, TYPESTRING_FLOAT64, TYPESTRING_INT16, TYPESTRING_INT32, TYPESTRING_INT64, TYPESTRING_INT8, TYPESTRING_UINT16, TYPESTRING_UINT32, TYPESTRING_UINT64, TYPESTRING_UINT8, TYPESTRING_UTC
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ProductData
createDeepClone()
Retuns a "deep" copy of this product data.void
dispose()
Releases all of the resources used by this object instance and all of its owned children.double[]
getArray()
Returns the internal data array holding this value's data elements.double
getElemDoubleAt(int index)
Please refer toProductData.getElemDoubleAt(int)
.float
getElemFloatAt(int index)
Please refer toProductData.getElemFloatAt(int)
.int
getElemIntAt(int index)
Please refer toProductData.getElemIntAt(int)
.long
getElemLongAt(int index)
Please refer toProductData.getElemLongAt(int)
.Object
getElems()
Gets the actual value value(s).String
getElemStringAt(int index)
Please refer toProductData.getElemStringAt(int)
.long
getElemUIntAt(int index)
Please refer toProductData.getElemUIntAt(int)
.int
getNumElems()
Returns the number of data elements this value has.void
readFrom(int startPos, int numElems, ImageInputStream source)
Please refer toProductData.readFrom(int, int, ImageInputStream)
.void
setElemDoubleAt(int index, double value)
Please refer toProductData.setElemDoubleAt(int, double)
.void
setElemFloatAt(int index, float value)
Please refer toProductData.setElemFloatAt(int, float)
.void
setElemIntAt(int index, int value)
Please refer toProductData.setElemIntAt(int, int)
.void
setElemLongAt(int index, long value)
Sets the value at the specified index as along
.void
setElems(Object data)
Sets the data of this value.void
setElemUIntAt(int index, long value)
Please refer toProductData.setElemUIntAt(int, long)
.void
writeTo(int sourceStartPos, int numSourceElems, ImageOutputStream destination)
Please refer toProductData.writeTo(int, int, ImageOutputStream)
.-
Methods inherited from class org.esa.snap.core.datamodel.ProductData
createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createInstance, createUnsignedInstance, createUnsignedInstance, createUnsignedInstance, equalElems, equals, getElemBoolean, getElemBooleanAt, getElemDouble, getElemFloat, getElemInt, getElemLong, getElemSize, getElemSize, getElemString, getElemUInt, getType, getType, getTypeString, getTypeString, hashCode, isFloatingPointType, isInt, isIntType, isScalar, isSigned, isUIntType, isUnsigned, readFrom, readFrom, readFrom, setElemBoolean, setElemBooleanAt, setElemDouble, setElemFloat, setElemInt, setElemLong, setElemString, setElemStringAt, setElemUInt, toString, writeTo, writeTo, writeTo
-
-
-
-
Constructor Detail
-
Double
public Double(double[] array)
Constructs a newDouble
instance for the given array reference.- Parameters:
array
- the array reference
-
Double
public Double(int numElems)
Constructs a newDouble
instance with the given number of elements.- Parameters:
numElems
- the number of elements, must not be less than one
-
-
Method Detail
-
createDeepClone
protected ProductData createDeepClone()
Retuns a "deep" copy of this product data.- Specified by:
createDeepClone
in classProductData
- Returns:
- a copy of this product data
-
getNumElems
public int getNumElems()
Returns the number of data elements this value has.- Specified by:
getNumElems
in classProductData
-
getElemIntAt
public int getElemIntAt(int index)
Please refer toProductData.getElemIntAt(int)
.- Specified by:
getElemIntAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemUIntAt
public long getElemUIntAt(int index)
Please refer toProductData.getElemUIntAt(int)
.- Specified by:
getElemUIntAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemLongAt
public long getElemLongAt(int index)
Please refer toProductData.getElemLongAt(int)
.- Specified by:
getElemLongAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemFloatAt
public float getElemFloatAt(int index)
Please refer toProductData.getElemFloatAt(int)
.- Specified by:
getElemFloatAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemDoubleAt
public double getElemDoubleAt(int index)
Please refer toProductData.getElemDoubleAt(int)
.- Specified by:
getElemDoubleAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemStringAt
public String getElemStringAt(int index)
Please refer toProductData.getElemStringAt(int)
.- Specified by:
getElemStringAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
setElemIntAt
public void setElemIntAt(int index, int value)
Please refer toProductData.setElemIntAt(int, int)
.- Specified by:
setElemIntAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
value
- the value to be set
-
setElemUIntAt
public void setElemUIntAt(int index, long value)
Please refer toProductData.setElemUIntAt(int, long)
.- Specified by:
setElemUIntAt
in classProductData
- 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 along
.- Specified by:
setElemLongAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
value
- the value to be set
-
setElemFloatAt
public void setElemFloatAt(int index, float value)
Please refer toProductData.setElemFloatAt(int, float)
.- Specified by:
setElemFloatAt
in classProductData
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
value
- the value to be set
-
setElemDoubleAt
public void setElemDoubleAt(int index, double value)
Please refer toProductData.setElemDoubleAt(int, double)
.- Specified by:
setElemDoubleAt
in classProductData
- 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 typedouble[]
.- Specified by:
getElems
in classProductData
- Returns:
- this value's value, always a
double[]
, nevernull
-
setElems
public void setElems(Object data)
Sets the data of this value. The data must be an array of the typefloat[]
orString[]
and have a length that is equal to the value returned by thegetNumDataElems
method.- Specified by:
setElems
in classProductData
- Parameters:
data
- the data array- Throws:
IllegalArgumentException
- if data isnull
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
Please refer toProductData.readFrom(int, int, ImageInputStream)
.- Specified by:
readFrom
in classProductData
- Parameters:
startPos
- the destination start position (zero-based)numElems
- the number of elements to readsource
- 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
Please refer toProductData.writeTo(int, int, ImageOutputStream)
.- Specified by:
writeTo
in classProductData
- Parameters:
sourceStartPos
- the source start position (zero-based)numSourceElems
- the number of elements to be writtendestination
- 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 classProductData
-
-