Class StructArrayLogEntry<T>

java.lang.Object
edu.wpi.first.util.datalog.DataLogEntry
edu.wpi.first.util.datalog.StructArrayLogEntry<T>
Type Parameters:
T - value class

public final class StructArrayLogEntry<T> extends DataLogEntry
Log struct-encoded array values.
  • Method Details

    • create

      public static <T> StructArrayLogEntry<T> create(DataLog log, String name, Struct<T> struct, String metadata, long timestamp)
      Creates a struct-encoded array log entry.
      Type Parameters:
      T - value class (inferred from struct)
      Parameters:
      log - datalog
      name - name of the entry
      struct - struct serialization implementation
      metadata - metadata
      timestamp - entry creation timestamp (0=now)
      Returns:
      StructArrayLogEntry
    • create

      public static <T> StructArrayLogEntry<T> create(DataLog log, String name, Struct<T> struct, String metadata)
      Creates a struct-encoded array log entry.
      Type Parameters:
      T - value class (inferred from struct)
      Parameters:
      log - datalog
      name - name of the entry
      struct - struct serialization implementation
      metadata - metadata
      Returns:
      StructArrayLogEntry
    • create

      public static <T> StructArrayLogEntry<T> create(DataLog log, String name, Struct<T> struct, long timestamp)
      Creates a struct-encoded array log entry.
      Type Parameters:
      T - value class (inferred from struct)
      Parameters:
      log - datalog
      name - name of the entry
      struct - struct serialization implementation
      timestamp - entry creation timestamp (0=now)
      Returns:
      StructArrayLogEntry
    • create

      public static <T> StructArrayLogEntry<T> create(DataLog log, String name, Struct<T> struct)
      Creates a struct-encoded array log entry.
      Type Parameters:
      T - value class (inferred from struct)
      Parameters:
      log - datalog
      name - name of the entry
      struct - struct serialization implementation
      Returns:
      StructArrayLogEntry
    • reserve

      public void reserve(int nelem)
      Ensures sufficient buffer space is available for the given number of elements.
      Parameters:
      nelem - number of elements
    • append

      public void append(T[] value, long timestamp)
      Appends a record to the log.
      Parameters:
      value - Value to record
      timestamp - Time stamp (0 to indicate now)
    • append

      public void append(T[] value)
      Appends a record to the log.
      Parameters:
      value - Value to record
    • append

      public void append(Collection<T> value, long timestamp)
      Appends a record to the log.
      Parameters:
      value - Value to record
      timestamp - Time stamp (0 to indicate now)
    • append

      public void append(Collection<T> value)
      Appends a record to the log.
      Parameters:
      value - Value to record
    • update

      public void update(T[] value, long timestamp)
      Updates the last value and appends a record to the log if it has changed.

      Note: the last value is local to this class instance; using update() with two instances pointing to the same underlying log entry name will likely result in unexpected results.

      Parameters:
      value - Value to record
      timestamp - Time stamp (0 to indicate now)
    • update

      public void update(T[] value)
      Updates the last value and appends a record to the log if it has changed.

      Note: the last value is local to this class instance; using update() with two instances pointing to the same underlying log entry name will likely result in unexpected results.

      Parameters:
      value - Value to record
    • update

      public void update(Collection<T> value, long timestamp)
      Updates the last value and appends a record to the log if it has changed.

      Note: the last value is local to this class instance; using update() with two instances pointing to the same underlying log entry name will likely result in unexpected results.

      Parameters:
      value - Value to record
      timestamp - Time stamp (0 to indicate now)
    • update

      public void update(Collection<T> value)
      Updates the last value and appends a record to the log if it has changed.

      Note: the last value is local to this class instance; using update() with two instances pointing to the same underlying log entry name will likely result in unexpected results.

      Parameters:
      value - Value to record
    • hasLastValue

      public boolean hasLastValue()
      Gets whether there is a last value.

      Note: the last value is local to this class instance and updated only with update(), not append().

      Returns:
      True if last value exists, false otherwise.
    • getLastValue

      public T[] getLastValue()
      Gets the last value.

      Note: the last value is local to this class instance and updated only with update(), not append().

      Returns:
      Last value, or null if none.