Package org.esa.snap.core.datamodel
Class ProductData.UInt
- java.lang.Object
-
- org.esa.snap.core.datamodel.ProductData
-
- org.esa.snap.core.datamodel.ProductData.Int
-
- org.esa.snap.core.datamodel.ProductData.UInt
-
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
ProductData.UTC
- Enclosing class:
- ProductData
public static class ProductData.UInt extends ProductData.Int
TheUIntclass is aProductDataspecialisation for unsigned 32-bit integer fields.Internally, data is stored in an array of the type
int[].In order to preserve the accuracy for the unsigned
intvalue range thegetElemUIntAtmethod should be used to retrieve the data stored in this value instead of accessing the data array directly.Another method is to mask each of the array elements in order to get the unsigned type in the following way:
int[] data = (int[]) value.getRaster(); for (int i = 0; i %lt; data.length; i++) { long value = data[i] & 0xffffffffL; ... }
-
-
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 inherited from class org.esa.snap.core.datamodel.ProductData.Int
_array
-
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 ProductDatacreateDeepClone()Retuns a "deep" copy of this product data.doublegetElemDoubleAt(int index)Please refer toProductData.getElemDoubleAt(int).floatgetElemFloatAt(int index)Please refer toProductData.getElemFloatAt(int).intgetElemIntAt(int index)Please refer toProductData.getElemIntAt(int).StringgetElemStringAt(int index)Please refer toProductData.getElemStringAt(int).longgetElemUIntAt(int index)Please refer toProductData.getElemUIntAt(int).voidsetElems(Object data)Sets the data of this value.-
Methods inherited from class org.esa.snap.core.datamodel.ProductData.Int
dispose, getArray, getElemLongAt, getElems, getNumElems, readFrom, setElemDoubleAt, setElemFloatAt, setElemIntAt, setElemLongAt, setElemUIntAt, writeTo
-
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
-
UInt
public UInt(int numElems)
Constructs a new unsignedintvalue.- Parameters:
numElems- the number of elements, must not be less than one
-
UInt
public UInt(int[] array)
Constructs a new unsignedintvalue.- Parameters:
array- the elements
-
UInt
protected UInt(long[] elems)
Constructs a new unsignedintvalue.- Parameters:
elems- the elements
-
-
Method Detail
-
createDeepClone
protected ProductData createDeepClone()
Retuns a "deep" copy of this product data.- Overrides:
createDeepClonein classProductData.Int- Returns:
- a copy of this product data
-
getElemIntAt
public int getElemIntAt(int index)
Please refer toProductData.getElemIntAt(int).IMPORTANT NOTE: This method returns the data element unchanged as it is sinternally stored (a 32-bit signed integer) and thus can also return negative values. Use
getElemUIntAtwhich returns unsignedlongvalues only.- Overrides:
getElemIntAtin classProductData.Int- Parameters:
index- the value index, must be>=0and<getNumDataElems()
-
getElemUIntAt
public long getElemUIntAt(int index)
Please refer toProductData.getElemUIntAt(int).- Overrides:
getElemUIntAtin classProductData.Int- Parameters:
index- the value index, must be>=0and<getNumDataElems()
-
getElemFloatAt
public float getElemFloatAt(int index)
Please refer toProductData.getElemFloatAt(int).- Overrides:
getElemFloatAtin classProductData.Int- Parameters:
index- the value index, must be>=0and<getNumDataElems()
-
getElemDoubleAt
public double getElemDoubleAt(int index)
Please refer toProductData.getElemDoubleAt(int).- Overrides:
getElemDoubleAtin classProductData.Int- Parameters:
index- the value index, must be>=0and<getNumDataElems()
-
getElemStringAt
public String getElemStringAt(int index)
Please refer toProductData.getElemStringAt(int).- Overrides:
getElemStringAtin classProductData.Int- Parameters:
index- the value index, must be>=0and<getNumDataElems()
-
setElems
public void setElems(Object data)
Sets the data of this value. The data must be an array of the typeint[]orString[]and have a length that is equal to the value returned by thegetNumDataElemsmethod.- Overrides:
setElemsin classProductData.Int- Parameters:
data- the data array- Throws:
IllegalArgumentException- if data isnullor it is not an array of the required type or does not have the required array length.
-
-