Package org.esa.snap.core.datamodel
Class ProductData.UByte
- java.lang.Object
-
- org.esa.snap.core.datamodel.ProductData
-
- org.esa.snap.core.datamodel.ProductData.Byte
-
- org.esa.snap.core.datamodel.ProductData.UByte
-
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- ProductData
public static class ProductData.UByte extends ProductData.Byte
TheUByte
class is aProductData
specialisation for unsigned 8-bit integer fields.Internally, data is stored in an array of the type
byte[]
.In order to preserve the accuracy for the unsigned byte value range the
getElemIntAt
method 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:
byte[] data = (byte[])
value.getElems()
; for (int i = 0; i < data.length; i++) { int value = data[i] & 0xff; ... }
-
-
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.Byte
_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 ProductData
createDeepClone()
Retuns a "deep" copy of this product data.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)
.String
getElemStringAt(int index)
Please refer toProductData.getElemStringAt(int)
.long
getElemUIntAt(int index)
Please refer toProductData.getElemUIntAt(int)
.void
setElems(Object data)
Sets the data of this value.-
Methods inherited from class org.esa.snap.core.datamodel.ProductData.Byte
clone, 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
-
-
-
-
Method Detail
-
createDeepClone
protected ProductData createDeepClone()
Retuns a "deep" copy of this product data.- Overrides:
createDeepClone
in classProductData.Byte
- Returns:
- a copy of this product data
-
getElemIntAt
public int getElemIntAt(int index)
Please refer toProductData.getElemIntAt(int)
.- Overrides:
getElemIntAt
in classProductData.Byte
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemUIntAt
public long getElemUIntAt(int index)
Please refer toProductData.getElemUIntAt(int)
.- Overrides:
getElemUIntAt
in classProductData.Byte
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemFloatAt
public float getElemFloatAt(int index)
Please refer toProductData.getElemFloatAt(int)
.- Overrides:
getElemFloatAt
in classProductData.Byte
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemDoubleAt
public double getElemDoubleAt(int index)
Please refer toProductData.getElemDoubleAt(int)
.- Overrides:
getElemDoubleAt
in classProductData.Byte
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
getElemStringAt
public String getElemStringAt(int index)
Please refer toProductData.getElemStringAt(int)
.- Overrides:
getElemStringAt
in classProductData.Byte
- Parameters:
index
- the value index, must be>=0
and<getNumDataElems()
-
setElems
public void setElems(Object data)
Sets the data of this value. The data must be an array of the typebyte[]
orString[]
and have a length that is equal to the value returned by thegetNumDataElems
method.- Overrides:
setElems
in classProductData.Byte
- 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.
-
-