Class ProductData.Long

  • All Implemented Interfaces:
    Cloneable
    Enclosing class:
    ProductData

    public static class ProductData.Long
    extends ProductData
    The Long class is a ProductData specialisation for signed 64-bit integer fields.

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

    • Field Detail

      • _array

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

      • Long

        protected Long​(int numElems)
        Constructs a new long instance.
        Parameters:
        numElems - the number of elements, must not be less than one
      • Long

        protected Long​(long[] array)
        Constructs a new Long instance.
        Parameters:
        array - the elements
    • Method Detail

      • createDeepClone

        protected ProductData createDeepClone()
        Returns 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
      • getArray

        public final long[] 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 int[].
        Specified by:
        getElems in class ProductData
        Returns:
        this value's value, always a int[], never null
      • setElems

        public void setElems​(Object data)
        Sets the data of this value. The data must be an array of the type int[] 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.
      • 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