Class ProductData
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
ProductData.Byte,ProductData.Double,ProductData.Float,ProductData.Int,ProductData.Long,ProductData.Short
ProductData class represents a generic data buffer used to hold the actual data values
stored in remote sensing data products.
A single ProductData instance can have one or more elements of a primitive type. The primitive types
are:
-
signed 8-bit integer -
unsigned 16-bit integer -
signed 32-bit integer -
unsigned 16-bit integer -
signed 32-bit integer -
unsigned 32-bit integer -
32-bit floating point -
64-bit floating point -
a character string (8-bit ASCII encoding) -
a MJD-2000 encoded data/time value
The number of elements is an inmutable property of a ProductData instance.
In order to access the data in a ProductData instance, multiple setters and getters are provided
which use generic transfer data types in order to make the data transfer in and out of a
ProductData instance easy for programmers.
For scalar (one-element) values the prototypes are
void setElemType(Type elem);
Type getElemType();
For vector (multiple-element) values the prototypes are
void setElemTypeAt(int index, Type elem);
Type getElemTypeAt(int index);
Where the transfer data type Type is one of int, long,
float, double and String.- Version:
- $Revision$ $Date$
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classTheProductData.ASCIIclass is aProductData.Bytespecialisation representing textual values.static classTheByteclass is aProductDataspecialisation for signed 8-bit integer fields.static classTheProductData.Floatclass is aProductDataspecialisation for 64-bit floating point fields.static classTheProductData.Floatclass is aProductDataspecialisation for 32-bit floating point fields.static classTheIntclass is aProductDataspecialisation for signed 32-bit integer fields.static classTheLongclass is aProductDataspecialisation for signed 64-bit integer fields.static classTheShortclass is aProductDataspecialisation for signed 16-bit integer fields.static classTheUByteclass is aProductDataspecialisation for unsigned 8-bit integer fields.static classTheUIntclass is aProductDataspecialisation for unsigned 32-bit integer fields.static classTheUShortclass is aProductDataspecialisation for unsigned 16-bit integer fields.static classTheProductData.UTCclass is aProductData.UIntspecialisation for UTC date/time values. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe ID for a ASCII string represented by an array of bytes (byte[]).static final intThe ID for a signed 32-bit floating point data type.static final intThe ID for a signed 64-bit floating point data type.static final intThe ID for a signed 16-bit integer data type.static final intThe ID for a signed 32-bit integer data type.static final intThe ID for a signed 64-bit integer data type.static final intThe ID for a signed 8-bit integer data type.static final intThe ID for an unsigned 16-bit integer data type.static final intThe ID for an unsigned 32-bit integer data type.static final intThe ID for an unsigned 64-bit integer data type.static final intThe ID for an unsigned 8-bit integer data type.static final intThe ID for an undefined data type.static final intThe ID for a UTC date/time value represented as Modified Julian Day (MJD) (anint[3]: int[0] = days, int[1] = seconds, int[2] = micro-seconds).static final StringThe string representation ofTYPE_ASCIIstatic final StringThe string representation ofTYPE_FLOAT32static final StringThe string representation ofTYPE_FLOAT64static final StringThe string representation ofTYPE_INT16static final StringThe string representation ofTYPE_INT32static final StringThe string representation ofTYPE_INT64static final StringThe string representation ofTYPE_INT8static final StringThe string representation ofTYPE_UINT16static final StringThe string representation ofTYPE_UINT32static final StringThe string representation ofTYPE_UINT64static final StringThe string representation ofTYPE_UINT8static final StringThe string representation ofTYPE_UTC -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProductData(int type) Constructs a new value of the given type. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract ProductDataRetuns a "deep" copy of this product data.static ProductDatacreateInstance(byte[] elems) static ProductDatacreateInstance(double[] elems) static ProductDatacreateInstance(float[] elems) static ProductDatacreateInstance(int type) Factory method which creates a value instance of the given type and with exactly one element.static ProductDatacreateInstance(int[] elems) static ProductDatacreateInstance(int type, int numElems) Factory method which creates a value instance of the given type and with the specified number of elements.static ProductDatacreateInstance(int type, Object data) Factory method which creates a value instance of the given type and with the specified number of elements.static ProductDatacreateInstance(long[] elems) static ProductDatacreateInstance(short[] elems) static ProductDatacreateInstance(String strData) static ProductDatacreateUnsignedInstance(byte[] elems) static ProductDatacreateUnsignedInstance(int[] elems) static ProductDatacreateUnsignedInstance(short[] elems) abstract voiddispose()Releases all of the resources used by this object instance and all of its owned children.booleanequalElems(ProductData other) Tests whether this ProductData is equal to another one.final booleanReturnsObject.equals(Object).booleanReturns the value as anboolean.booleangetElemBooleanAt(int index) Gets the value element with the given index as aboolean.doubleReturns the value as andouble.abstract doublegetElemDoubleAt(int index) Gets the value element with the given index as adouble.floatReturns the value as anfloat.abstract floatgetElemFloatAt(int index) Gets the value element with the given index as afloat.intReturns the value as anint.abstract intgetElemIntAt(int index) Gets the value element with the given index as anint.longReturns the value as along.abstract longgetElemLongAt(int index) Gets the value element with the given index as anlong.abstract ObjectgetElems()Returns the internal value.intGets the element size of an element of this product data in bytes.static intgetElemSize(int type) Gets the element size of an element of the given type in bytes.Returns the value as aString.abstract StringgetElemStringAt(int index) Gets the value element with the given index as aString.longReturns the value as an unsignedintgiven as along.abstract longgetElemUIntAt(int index) Gets the value element with the given index as along.abstract intReturns the number of data elements this value has.intgetType()Returns this value's type ID.static intReturns a integer representation of the given data type string.Returns this value's data type String.static StringgetTypeString(int type) Returns a textual representation of the given data type.final inthashCode()ReturnsObject.hashCode().static booleanisFloatingPointType(int type) Tests whether the given value type is a floating point type.booleanisInt()Tests whether this value has an integer.static booleanisIntType(int type) Tests whether the given value type is a signed or unsigned integer type.booleanisScalar()Tests if this value is a scalar.booleanisSigned()Tests whether the actual instance is an signed data type.static booleanisUIntType(int type) Tests whether the given value type is an unsigned integer type.booleanTests whether the actual instance is an unsigned data type.abstract voidreadFrom(int startPos, int numElems, ImageInputStream input) Reads elements of thisProductDatainstance from the given output stream.voidreadFrom(int startPos, int numElems, ImageInputStream input, long inputPos) Reads elements into thisProductDatainstance from the given input stream.voidreadFrom(int pos, ImageInputStream input) Reads a single element of thisProductDatainstance from to the given output stream.voidreadFrom(ImageInputStream input) Reads all elements of thisProductDatainstance from to the given input stream.voidsetElemBoolean(boolean value) Sets the value as aboolean.voidsetElemBooleanAt(int index, boolean value) Sets the value at the specified index as aboolean.voidsetElemDouble(double value) Sets the value as adouble.abstract voidsetElemDoubleAt(int index, double value) Sets the value at the specified index as adouble.voidsetElemFloat(float value) Sets the value as afloat.abstract voidsetElemFloatAt(int index, float value) Sets the value at the specified index as afloat.voidsetElemInt(int value) Sets the value as anint.abstract voidsetElemIntAt(int index, int value) Sets the value at the specified index as anint.voidsetElemLong(long value) Sets the value as along.abstract voidsetElemLongAt(int index, long value) Sets the value at the specified index as along.abstract voidSets the internal value.voidsetElemString(String value) Sets the value as aString.voidsetElemStringAt(int index, String value) Sets the value at the specified index as aString.voidsetElemUInt(long value) Sets the value as an unsignedintgiven as along.abstract voidsetElemUIntAt(int index, long value) Sets the value at the specified index as an unsignedintgiven as along.toString()Returns a string representation of this value which can be used for debugging purposes.abstract voidwriteTo(int startPos, int numElems, ImageOutputStream output) Writes elements of thisProductDatainstance to to the given output stream.voidwriteTo(int startPos, int numElems, ImageOutputStream output, long outputPos) Writes elements of thisProductDatainstance to to the given output stream.voidwriteTo(int pos, ImageOutputStream output) Writes a single element of thisProductDatainstance to to the given output stream.voidwriteTo(ImageOutputStream output) Writes all elements of thisProductDatainstance to to the given output stream.
-
Field Details
-
TYPE_UNDEFINED
public static final int TYPE_UNDEFINEDThe ID for an undefined data type.- See Also:
-
TYPE_INT8
public static final int TYPE_INT8The ID for a signed 8-bit integer data type.- See Also:
-
TYPE_INT16
public static final int TYPE_INT16The ID for a signed 16-bit integer data type.- See Also:
-
TYPE_INT32
public static final int TYPE_INT32The ID for a signed 32-bit integer data type.- See Also:
-
TYPE_INT64
public static final int TYPE_INT64The ID for a signed 64-bit integer data type.- See Also:
-
TYPE_UINT8
public static final int TYPE_UINT8The ID for an unsigned 8-bit integer data type.- See Also:
-
TYPE_UINT16
public static final int TYPE_UINT16The ID for an unsigned 16-bit integer data type.- See Also:
-
TYPE_UINT32
public static final int TYPE_UINT32The ID for an unsigned 32-bit integer data type.- See Also:
-
TYPE_UINT64
public static final int TYPE_UINT64The ID for an unsigned 64-bit integer data type.- See Also:
-
TYPE_FLOAT32
public static final int TYPE_FLOAT32The ID for a signed 32-bit floating point data type.- See Also:
-
TYPE_FLOAT64
public static final int TYPE_FLOAT64The ID for a signed 64-bit floating point data type.- See Also:
-
TYPE_ASCII
public static final int TYPE_ASCIIThe ID for a ASCII string represented by an array of bytes (byte[]).- See Also:
-
TYPE_UTC
public static final int TYPE_UTCThe ID for a UTC date/time value represented as Modified Julian Day (MJD) (anint[3]: int[0] = days, int[1] = seconds, int[2] = micro-seconds).- See Also:
-
TYPESTRING_INT8
The string representation ofTYPE_INT8- See Also:
-
TYPESTRING_INT16
The string representation ofTYPE_INT16- See Also:
-
TYPESTRING_INT32
The string representation ofTYPE_INT32- See Also:
-
TYPESTRING_INT64
The string representation ofTYPE_INT64- See Also:
-
TYPESTRING_UINT8
The string representation ofTYPE_UINT8- See Also:
-
TYPESTRING_UINT16
The string representation ofTYPE_UINT16- See Also:
-
TYPESTRING_UINT32
The string representation ofTYPE_UINT32- See Also:
-
TYPESTRING_UINT64
The string representation ofTYPE_UINT64- See Also:
-
TYPESTRING_FLOAT32
The string representation ofTYPE_FLOAT32- See Also:
-
TYPESTRING_FLOAT64
The string representation ofTYPE_FLOAT64- See Also:
-
TYPESTRING_ASCII
The string representation ofTYPE_ASCII- See Also:
-
TYPESTRING_UTC
The string representation ofTYPE_UTC- See Also:
-
-
Constructor Details
-
ProductData
protected ProductData(int type) Constructs a new value of the given type.- Parameters:
type- the value's type
-
-
Method Details
-
createInstance
Factory method which creates a value instance of the given type and with exactly one element.- Parameters:
type- the value's type- Returns:
- a new value instance,
nullif the given type is not known
-
createInstance
Factory method which creates a value instance of the given type and with the specified number of elements.- Parameters:
type- the value's typenumElems- the number of elements, must be greater than zero if type is notTYPE_UTC- Returns:
- a new value instance
- Throws:
IllegalArgumentException- if one of the arguments is invalid
-
createInstance
Factory method which creates a value instance of the given type and with the specified number of elements.- Parameters:
type- the value's typedata- iftypeisTYPE_ASCIItheString, otherwise the primitive array type corresponding totype- Returns:
- a new value instance,
nullif the given type is not known - Throws:
IllegalArgumentException- if one of the arguments is invalid
-
createInstance
-
createUnsignedInstance
-
createInstance
-
createUnsignedInstance
-
createInstance
-
createUnsignedInstance
-
createInstance
-
createInstance
-
createInstance
-
createInstance
-
getType
public int getType()Returns this value's type ID. -
getElemSize
public static int getElemSize(int type) Gets the element size of an element of the given type in bytes.- Parameters:
type- the element type- Returns:
- the size of a single element in bytes.
- Throws:
IllegalArgumentException- if the type is not supported.
-
getElemSize
public int getElemSize()Gets the element size of an element of this product data in bytes.- Returns:
- the size of a single element in bytes
-
getTypeString
Returns a textual representation of the given data type.- Returns:
- a data type string,
nullif the type is unknown
-
getType
Returns a integer representation of the given data type string.- Returns:
- a data type integer,
nullif the type is unknown
-
getTypeString
Returns this value's data type String. -
isInt
public boolean isInt()Tests whether this value has an integer.- Returns:
- true, if so
-
isIntType
public static boolean isIntType(int type) Tests whether the given value type is a signed or unsigned integer type.- Returns:
- true, if so
-
isSigned
public boolean isSigned()Tests whether the actual instance is an signed data type.- Returns:
- true, if so
-
isUnsigned
public boolean isUnsigned()Tests whether the actual instance is an unsigned data type.- Returns:
- true, if so
-
isUIntType
public static boolean isUIntType(int type) Tests whether the given value type is an unsigned integer type.- Returns:
- true, if so
-
isFloatingPointType
public static boolean isFloatingPointType(int type) Tests whether the given value type is a floating point type.- Returns:
- true, if so
-
isScalar
public boolean isScalar()Tests if this value is a scalar.- Returns:
- true, if so
-
getNumElems
public abstract int getNumElems()Returns the number of data elements this value has. -
getElemInt
public int getElemInt()Returns the value as anint.The method assumes that this value is a scalar and therefore simply returns
getElemIntAt(0).- See Also:
-
getElemUInt
public long getElemUInt()Returns the value as an unsignedintgiven as along.The method assumes that this value is a scalar and therefore simply returns
getElemUIntAt(0).- See Also:
-
getElemLong
public long getElemLong()Returns the value as along.The method assumes that this value is a scalar and therefore simply returns
getElemLongAt(0).- See Also:
-
getElemFloat
public float getElemFloat()Returns the value as anfloat.The method assumes that this value is a scalar and therefore simply returns
getElemFloatAt(0).- See Also:
-
getElemDouble
public double getElemDouble()Returns the value as andouble.The method assumes that this value is a scalar and therefore simply returns
getElemDoubleAt(0).- See Also:
-
getElemString
Returns the value as aString. The text returned is the comma-separated list of elements contained in this value.- Returns:
- a text representing this fields value, never
null
-
getElemBoolean
public boolean getElemBoolean()Returns the value as anboolean.The method assumes that this value is a scalar and therefore simply returns
getElemBooleanAt(0).- See Also:
-
getElemIntAt
public abstract int getElemIntAt(int index) Gets the value element with the given index as anint.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemUIntAt
public abstract long getElemUIntAt(int index) Gets the value element with the given index as along.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemLongAt
public abstract long getElemLongAt(int index) Gets the value element with the given index as anlong.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemFloatAt
public abstract float getElemFloatAt(int index) Gets the value element with the given index as afloat.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemDoubleAt
public abstract double getElemDoubleAt(int index) Gets the value element with the given index as adouble.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemStringAt
Gets the value element with the given index as aString.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElemBooleanAt
public boolean getElemBooleanAt(int index) Gets the value element with the given index as aboolean.- Parameters:
index- the value index, must be>=0and<getNumDataElems()- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemInt
public void setElemInt(int value) Sets the value as anint.The method assumes that this value is a scalar and therefore simply calls
setElemIntAt(0, value).- Parameters:
value- the value to be set- See Also:
-
setElemUInt
public void setElemUInt(long value) Sets the value as an unsignedintgiven as along.The method assumes that this value is a scalar and therefore simply calls
setElemUIntAt(0, value).- Parameters:
value- the value to be set- See Also:
-
setElemLong
public void setElemLong(long value) Sets the value as along.The method assumes that this value is a scalar and therefore simply calls
setElemLongInt(0, value).- Parameters:
value- the value to be set- See Also:
-
setElemFloat
public void setElemFloat(float value) Sets the value as afloat.The method assumes that this value is a scalar and therefore simply calls
setElemFloatAt(0, value).- Parameters:
value- the value to be set- See Also:
-
setElemDouble
public void setElemDouble(double value) Sets the value as adouble.The method assumes that this value is a scalar and therefore simply calls
setElemDoubleAt(0).- Parameters:
value- the value to be set- See Also:
-
setElemString
Sets the value as aString.The method assumes that this value is a scalar and therefore simply calls
setElemStringAt(0).- Parameters:
value- the value to be set- See Also:
-
setElemBoolean
public void setElemBoolean(boolean value) Sets the value as aboolean.The method assumes that this value is a scalar and therefore simply calls
setElemDoubleAt(0).- Parameters:
value- the value to be set- See Also:
-
setElemIntAt
public abstract void setElemIntAt(int index, int value) Sets the value at the specified index as anint.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemUIntAt
public abstract void setElemUIntAt(int index, long value) Sets the value at the specified index as an unsignedintgiven as along.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemLongAt
public abstract void setElemLongAt(int index, long value) Sets the value at the specified index as along.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemFloatAt
public abstract void setElemFloatAt(int index, float value) Sets the value at the specified index as afloat.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemDoubleAt
public abstract void setElemDoubleAt(int index, double value) Sets the value at the specified index as adouble.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemStringAt
Sets the value at the specified index as aString.THE METHOD IS CURRENTLY NOT IMPLEMENTED.
- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
setElemBooleanAt
public void setElemBooleanAt(int index, boolean value) Sets the value at the specified index as aboolean.- Parameters:
index- the value index, must be>=0and<getNumDataElems()value- the value to be set- Throws:
IndexOutOfBoundsException- if the index is out of bounds
-
getElems
Returns the internal value. The actual type of the returned object should only be one ofbyte[]- for signed/unsigned 8-bit integer fieldsshort[]- for signed/unsigned 16-bit integer fieldsint[]- for signed/unsigned 32-bit integer fieldslong[]- for signed/unsigned 64-bit integer fieldsfloat[]- for signed 32-bit floating point fieldsdouble[]- for signed 64-bit floating point fields
- Returns:
- an array of one of the described types
-
setElems
Sets the internal value. The actual type of the given data object should only be one ofbyte[]- for signed/unsigned 8-bit integer fieldsshort[]- for signed/unsigned 16-bit integer fieldsint[]- for signed/unsigned 32-bit integer fieldslong[]- for signed/unsigned 64-bit integer fieldsfloat[]- for signed 32-bit floating point fieldsdouble[]- for signed 64-bit floating point fieldsString[]- for all field types
- Parameters:
data- an array of one of the described types
-
readFrom
Reads all elements of thisProductDatainstance from to the given input stream.The method subsequentially reads the elements at
0togetNumElems()-1of thisProductDatainstance from the given input stream.
Reading starts at the current seek position within the input stream.- Parameters:
input- a seekable data input stream- Throws:
IOException- if an I/O error occurs
-
readFrom
Reads a single element of thisProductDatainstance from to the given output stream.The method reads the element at
posof thisProductDatainstance from the given output stream.
Reading starts at the current seek position within the output stream.- Parameters:
pos- the destination position (zero-based)input- a seekable data input stream- Throws:
IOException- if an I/O error occurs
-
readFrom
public abstract void readFrom(int startPos, int numElems, ImageInputStream input) throws IOException Reads elements of thisProductDatainstance from the given output stream.The method subsequentially reads the elements at
startPostostartPos+numElems-1of thisProductDatainstance from the given input stream.
Reading starts at the current seek position of the input stream.- Parameters:
startPos- the destination start position (zero-based)numElems- the number of elements to readinput- a seekable data input stream- Throws:
IOException- if an I/O error occurs
-
readFrom
public void readFrom(int startPos, int numElems, ImageInputStream input, long inputPos) throws IOException Reads elements into thisProductDatainstance from the given input stream.The method subsequentially reads the elements at
startPostostartPos+numElems-1of thisProductDatainstance from the given input stream.
Reading starts atinputPoswithin the output stream. The method multiplies this position with the value returned bygetElemSize()in order to find the correct stream offset in bytes.- Parameters:
startPos- the destination start position (zero-based)numElems- the number of elements to readinput- a seekable data input streaminputPos- the (zero-based) position in the data output stream where reading starts- Throws:
IOException- if an I/O error occurs
-
writeTo
Writes all elements of thisProductDatainstance to to the given output stream.The method subsequentially writes the elements at
0togetNumElems()-1of thisProductDatainstance to the given output stream.
Writing starts at the current seek position within the output stream.- Parameters:
output- a seekable data output stream- Throws:
IOException- if an I/O error occurs
-
writeTo
Writes a single element of thisProductDatainstance to to the given output stream.The method writes the element at
posof thisProductDatainstance to the given output stream.
Writing starts at the current seek position within the output stream.- Parameters:
pos- the source position (zero-based)output- a seekable data output stream- Throws:
IOException- if an I/O error occurs
-
writeTo
public abstract void writeTo(int startPos, int numElems, ImageOutputStream output) throws IOException Writes elements of thisProductDatainstance to to the given output stream.The method subsequentially writes the elements at
startPostostartPos+numElems-1of thisProductDatainstance to the given output stream.
Writing starts at the current seek position within the output stream.- Parameters:
startPos- the source start position (zero-based)numElems- the number of elements to be writtenoutput- a seekable data output stream- Throws:
IOException- if an I/O error occurs
-
writeTo
public void writeTo(int startPos, int numElems, ImageOutputStream output, long outputPos) throws IOException Writes elements of thisProductDatainstance to to the given output stream.The method subsequentially writes the elements at
startPostostartPos+numElems-1of thisProductDatainstance to the given output stream.
Writing starts atoutputPoswithin the output stream. The method multiplies this position with the value returned bygetElemSize()in order to find the correct stream offset in bytes.- Parameters:
startPos- the source start position (zero-based)numElems- the number of elements to be writtenoutput- a seekable data output streamoutputPos- the position in the data output stream where writing starts- Throws:
IOException- if an I/O error occurs
-
toString
Returns a string representation of this value which can be used for debugging purposes. -
hashCode
public final int hashCode()ReturnsObject.hashCode(). -
equals
ReturnsObject.equals(Object). UseequalElems(org.esa.snap.core.datamodel.ProductData)in order to perform an element-wise comparision. -
equalElems
Tests whether this ProductData is equal to another one. Performs an element-wise comparision if the other object is aProductDatainstance of the same data type. Otherwise the method behaves likeObject.equals(Object).- Parameters:
other- the other one
-
createDeepClone
Retuns a "deep" copy of this product data.- Returns:
- a copy of this product data
-
dispose
public abstract 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.
-