Class D4Cursor

  • All Implemented Interfaces:
    dap4.core.data.DataCursor

    public class D4Cursor
    extends AbstractCursor
    • Field Detail

      • offset

        protected long offset
      • bytestrings

        protected long[] bytestrings
      • elements

        protected D4Cursor[] elements
      • fieldcursors

        protected D4Cursor[] fieldcursors
    • Constructor Detail

      • D4Cursor

        public D4Cursor​(dap4.core.data.DataCursor.Scheme scheme,
                        D4DSP dsp,
                        dap4.core.dmr.DapNode template,
                        D4Cursor container)
      • D4Cursor

        public D4Cursor​(D4Cursor c)
        Effectively a clone of c
        Parameters:
        c - cursor to clone
    • Method Detail

      • read

        public Object read​(dap4.core.util.Index index)
                    throws dap4.core.util.DapException
        Specified by:
        read in interface dap4.core.data.DataCursor
        Specified by:
        read in class AbstractCursor
        Throws:
        dap4.core.util.DapException
      • read

        public Object read​(List<dap4.core.util.Slice> slices)
                    throws dap4.core.util.DapException
        Specified by:
        read in interface dap4.core.data.DataCursor
        Specified by:
        read in class AbstractCursor
        Throws:
        dap4.core.util.DapException
      • readField

        public D4Cursor readField​(int findex)
                           throws dap4.core.util.DapException
        Specified by:
        readField in interface dap4.core.data.DataCursor
        Specified by:
        readField in class AbstractCursor
        Throws:
        dap4.core.util.DapException
      • readRecord

        public D4Cursor readRecord​(long i)
        Specified by:
        readRecord in interface dap4.core.data.DataCursor
        Specified by:
        readRecord in class AbstractCursor
      • getRecordCount

        public long getRecordCount()
        Specified by:
        getRecordCount in interface dap4.core.data.DataCursor
        Overrides:
        getRecordCount in class AbstractCursor
      • readAtomic

        protected Object readAtomic​(List<dap4.core.util.Slice> slices)
                             throws dap4.core.util.DapException
        Throws:
        dap4.core.util.DapException
      • readAs

        protected Object readAs​(dap4.core.dmr.DapVariable atomvar,
                                dap4.core.dmr.DapType basetype,
                                List<dap4.core.util.Slice> slices)
                         throws dap4.core.util.DapException
        Allow specification of basetype to use; used for enumerations
        Parameters:
        atomvar -
        basetype -
        slices -
        Returns:
        Object of basetype
        Throws:
        dap4.core.util.DapException
      • readContig

        protected void readContig​(List<dap4.core.util.Slice> slices,
                                  dap4.core.dmr.DapType basetype,
                                  long count,
                                  dap4.core.util.Odometer odom,
                                  Object result)
                           throws dap4.core.util.DapException
        Throws:
        dap4.core.util.DapException
      • readOdom

        protected Object readOdom​(List<dap4.core.util.Slice> slices,
                                  dap4.core.dmr.DapType basetype,
                                  dap4.core.util.Odometer odom,
                                  Object result)
                           throws dap4.core.util.DapException
        Throws:
        dap4.core.util.DapException
      • readStructure

        protected D4Cursor readStructure​(dap4.core.util.Index index)
                                  throws dap4.core.util.DapException
        Throws:
        dap4.core.util.DapException
      • readSequence

        public D4Cursor readSequence​(dap4.core.util.Index index)
                              throws dap4.core.util.DapException
        Throws:
        dap4.core.util.DapException
      • setOffset

        public D4Cursor setOffset​(long pos)
      • setByteStringOffsets

        public D4Cursor setByteStringOffsets​(long total,
                                             long[] positions)
      • getElementSize

        public long getElementSize​(dap4.core.dmr.DapVariable v)
      • getLength

        public static long getLength​(ByteBuffer b)