# Package org.firstinspires.ftc.robotcore.external

- Interface Summary
  Interface | Description
  --- | ---
  Consumer<T> | Instances of `Consumer` are functions that act on an instance of a indicated type
  Event | A state machine event.
  Func<T> | Instances of `Func` are nullary producers of values.
  Function<T,R> | If we were running Java8, we'd just use the built-in interface
  Predicate<T> |
  SignificantMotionDetection.SignificantMotionDetectionListener |
  State | A state for a given state machine.
  Supplier<T> | Represents a supplier of results.
  Telemetry | Instances of `Telemetry` provide a means by which data can be transmitted from the robot controller to the driver station and displayed on the driver station screen.
  Telemetry.Item | Instances of `Telemetry.Item` represent an item of data on the drive station telemetry display.
  Telemetry.Line | Instances of `Telemetry.Line` build lines of data on the driver station telemetry display.
  Telemetry.Log | The `Telemetry.Log` in a `Telemetry` instance provides an append-only list of messages that appear on the driver station below the `Telemetry.Item`s of the `Telemetry`.
  ThrowingCallable<VALUE,EXCEPTION extends java.lang.Throwable> | An interface for workers that has a specialized exception set

- Class Summary
  Class | Description
  --- | ---
  ClassFactory | `ClassFactory` provides a means by which various objects in the SDK may be logically instantiated without exposing their external class identities to user's programs.
  ClassFactory.InstanceHolder |
  JavaUtil | A class that provides utility methods used in FTC Java code generated from blocks.
  SignificantMotionDetection |
  StateMachine | Infrastructure for a very simple generic state machine.
  StateTransition |

- Enum Summary
  Enum | Description
  --- | ---
  JavaUtil.AtMode |
  JavaUtil.SortDirection |
  JavaUtil.SortType |
  JavaUtil.TrimMode |
  Telemetry.Log.DisplayOrder | `Telemetry.Log.DisplayOrder` instances indicate the desired ordering of a `Telemetry.log()`.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Const | `Const` documents a method that promises not to change the internal state of the method receiver.
  NonConst | `NonConst` documents a method that performs its function by updating internal state of the method receiver.