Class CipULINT

    • Constructor Detail

      • CipULINT

        public CipULINT()
      • CipULINT

        public CipULINT​(long val)
      • CipULINT

        public CipULINT​(int[] dimensions)
      • CipULINT

        protected CipULINT​(CipULINT data,
                           int[] indices)
    • Method Detail

      • getNestingDef

        public DataDefinitionSeg getNestingDef()
        Description copied from class: BaseDataType
        Return the element (not including array) type definition as a Path Segment, using the abbreviated form if a composite data type.
        Specified by:
        getNestingDef in class BaseDataType<java.lang.Long>
      • crcName

        public java.lang.String crcName()
        Description copied from class: BaseDataType
        Obtain the name of this type as used for computing structure CRCs. Can be different from the name(s) used by the CipPath parser.
        Overrides:
        crcName in class BaseDataType<java.lang.Long>
        Returns:
      • setDimensions

        public void setDimensions​(int[] newDimensions)
        Description copied from class: BaseDataType
        Update the lengths of the array dimensions to the given values. The number of subscripts must match the current number of subscripts. The operation must be data-preserving.

        This implementation handles pure Object storage types. Anything else must override.

        Overrides:
        setDimensions in class BaseDataType<java.lang.Long>
      • structCRCString

        public java.lang.String structCRCString()
        Description copied from class: BaseDataType
        Logix processors don't follow CIP Volume 1 Table C-6.9 in their tag read/write routines for structures. Instead, they run the CRC over comma-separated ASCII type strings that make up the structure. This is referred to in the Logix Data Access Programming Manual as the "Structure Handle".
        Overrides:
        structCRCString in class BaseDataType<java.lang.Long>
        Returns:
      • getBit

        public boolean getBit​(int b)
        Specified by:
        getBit in interface BoolHost
      • setBit

        public void setBit​(int b,
                           boolean v)
        Specified by:
        setBit in interface BoolHost
      • longValue

        public java.math.BigInteger longValue​(int... indices)
        Description copied from class: BaseDataType
        For data types 64-bits wide or less, return the best available 64-bit representation. If the subscripts are incomplete, return the element with the remaining subscripts set to zero.
        Overrides:
        longValue in class BaseDataType<java.lang.Long>
        Parameters:
        indices - Array subscripts.
        Returns:
      • setLong

        public void setLong​(long val,
                            int... indices)
        Description copied from class: BaseDataType
        For data types 64-bits wide or less, set the appropriate bits from a 64-bit representation. If the subscripts are incomplete, set the element with the remaining subscripts set to zero.
        Overrides:
        setLong in class BaseDataType<java.lang.Long>
        Parameters:
        val - New value, truncated to 8, 16, or 32 bits if needed.
        indices - Array subscripts.
      • get

        public java.lang.Long get​(int[] indices)
        Description copied from class: BaseDataType
        Application-side value retrieval. Subclasses must implement this function to retrieve elements of the storage array in the application data type.
        Specified by:
        get in class BaseDataType<java.lang.Long>
        Parameters:
        indices - Array subscripts. Missing subscripts not allowed.
        Returns:
      • set

        public void set​(int[] indices,
                        java.lang.Long val)
        Description copied from class: BaseDataType
        Application-side value storage. Subclasses must implement this function to store one value or complex element into the storage array.
        Specified by:
        set in class BaseDataType<java.lang.Long>
        Parameters:
        indices - Array subscripts. Missing subscripts not allowed.
      • getBit

        public boolean getBit​(int[] indices,
                              int b)
        Specified by:
        getBit in interface BitAddressable
      • setBit

        public void setBit​(int[] indices,
                           int b,
                           boolean v)
        Specified by:
        setBit in interface BitAddressable
      • bytesEach

        public int bytesEach()
        Description copied from class: BaseDataType
        Obtain the bytes-per-element of this object's payload encoding. Objects with variable length encodings must return zero and implement the bytesImpl(), minEach(), maxEach(), and alignment() methods instead.
        Specified by:
        bytesEach in class BaseDataType<java.lang.Long>
        Returns:
        encoded bytes per element
      • setPayloadImpl

        protected void setPayloadImpl​(java.nio.ByteBuffer source,
                                      int[] indices)
        Description copied from class: BaseDataType
        All concrete implementations must supply their per-element decoder here.
        Specified by:
        setPayloadImpl in class BaseDataType<java.lang.Long>
      • putPayloadImpl

        protected void putPayloadImpl​(java.nio.ByteBuffer dest,
                                      int[] indices)
        Description copied from class: BaseDataType
        All concrete implementations must supply their per-element encoder here.
        Specified by:
        putPayloadImpl in class BaseDataType<java.lang.Long>
      • bytesImpl

        protected int bytesImpl​(int[] indices)
        Description copied from class: BaseDataType
        Retrieve the bytes payload size of a single array element (or sole element). Objects with fixed element sizes may simply return bytesEach() here.
        Specified by:
        bytesImpl in class BaseDataType<java.lang.Long>
        Returns:
      • copyToImpl

        protected void copyToImpl​(BaseDataType<?> dest,
                                  int[] indices)
        Description copied from class: BaseDataType
        Support deep copy operations one element at a time.
        Specified by:
        copyToImpl in class BaseDataType<java.lang.Long>
      • copyToImpl

        protected void copyToImpl​(BaseDataType<?> dest,
                                  int[] toIndices,
                                  int[] fromIndices)
        Description copied from class: BaseDataType
        Support slice copy operations one element at a time.
        Specified by:
        copyToImpl in class BaseDataType<java.lang.Long>
      • wrap

        public CipULINT wrap​(int[] indices)
        Description copied from class: BaseDataType
        Application-side wrapper for inner dimensions. Implementations must update memberOffsets if not not using the protected constructor.
        Specified by:
        wrap in class BaseDataType<java.lang.Long>
        Parameters:
        indices - Array subscripts. Missing subscripts are allowed.