Class LongFrame<T>

java.lang.Object
com.reduxrobotics.frames.Frame<T>
com.reduxrobotics.frames.LongFrame<T>

public class LongFrame<T> extends Frame<T>
Implements an object-holding Frame backed by a Long. This avoids creation of new objects by only converting to objects when the value is requested.
  • Constructor Details

    • LongFrame

      public LongFrame(long initialData, double timestamp, T defaultData, LongFrame.LongToType<T> conversion)
      Instantiates a new LongFrame.
      Parameters:
      initialData - the initial long data to hold
      timestamp - The timestamp the update happened at.
      defaultData - An instance of the object to return before the first update happens.
      conversion - A function that takes in a double and converts it to the final datatype.
  • Method Details

    • getValue

      public T getValue()
      Description copied from class: Frame
      Returns the value of the data frame.
      Specified by:
      getValue in class Frame<T>
      Returns:
      the value the data frame holds.
    • hasData

      public boolean hasData()
      Returns if this frame has data.
      Specified by:
      hasData in class Frame<T>
      Returns:
      if this frame's data can be considered valid
    • clearData

      public void clearData()
      Flag that this frame's data is not valid.
    • getData

      public long getData()
      Gets the underlying long data.
      Returns:
      the long data as a type.
    • updateData

      public void updateData(long data, double timestamp)
      Update the LongFrame with new long data.
      Parameters:
      data - the new data to update with
      timestamp - the timestamp at which it occured