# Record Class St1DeviceLocationUpdate

java.lang.Object
java.lang.Record
com.io7m.stonesignal.protocol.device.v1.St1DeviceLocationUpdate

All Implemented Interfaces:
  `St1DeviceMessageType`

public record St1DeviceLocationUpdate(double accuracy, double altitude, double bearing, double bearingAccuracy, double latitude, double longitude, double mslAltitude, double mslAltitudeAccuracy, double speed, double speedAccuracy) extends Record implements St1DeviceMessageType
A location update.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `St1DeviceLocationUpdate(double accuracy, double altitude, double bearing, double bearingAccuracy, double latitude, double longitude, double mslAltitude, double mslAltitudeAccuracy, double speed, double speedAccuracy)`
  A location update.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `double`
  `accuracy()`
  Returns the value of the `accuracy` record component.
  `double`
  `altitude()`
  Returns the value of the `altitude` record component.
  `double`
  `bearing()`
  Returns the value of the `bearing` record component.
  `double`
  `bearingAccuracy()`
  Returns the value of the `bearingAccuracy` record component.
  `final boolean`
  `equals(Object o)`
  Indicates whether some other object is "equal to" this one.
  `final int`
  `hashCode()`
  Returns a hash code value for this object.
  `double`
  `latitude()`
  Returns the value of the `latitude` record component.
  `double`
  `longitude()`
  Returns the value of the `longitude` record component.
  `double`
  `mslAltitude()`
  Returns the value of the `mslAltitude` record component.
  `double`
  `mslAltitudeAccuracy()`
  Returns the value of the `mslAltitudeAccuracy` record component.
  `double`
  `speed()`
  Returns the value of the `speed` record component.
  `double`
  `speedAccuracy()`
  Returns the value of the `speedAccuracy` record component.
  `Map<String,String>`
  `toMap()`
  `final String`
  `toString()`
  Returns a string representation of this record class.

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### St1DeviceLocationUpdate

    public St1DeviceLocationUpdate(@JsonPropertyDescription("The estimated horizontal accuracy radius in meters of this location.") double accuracy, @JsonPropertyDescription("The altitude of this location in meters above the WGS84 reference ellipsoid.") double altitude, @JsonPropertyDescription("The bearing at the time of this location in degrees. ") double bearing, @JsonPropertyDescription("The estimated bearing accuracy in degrees of this location.") double bearingAccuracy, @JsonPropertyDescription("The latitude in degrees.") double latitude, @JsonPropertyDescription("The longitude in degrees.") double longitude, @JsonPropertyDescription("The Mean Sea Level altitude of this location in meters.") double mslAltitude, @JsonPropertyDescription("The estimated Mean Sea Level altitude accuracy in meters.") double mslAltitudeAccuracy, @JsonPropertyDescription("The speed at the time of this location in meters per second.") double speed, @JsonPropertyDescription("The estimated speed accuracy in meters per second of this location.") double speedAccuracy)
    A location update.

- ## Method Details

  - ### toMap

    public Map<String,String> toMap()
    Returns:
      The location data as a string map

  - ### toString

    public final String toString()
    Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
    Specified by:
      `toString` in class `Record`
    Returns:
      a string representation of this object

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
    Specified by:
      `hashCode` in class `Record`
    Returns:
      a hash code value for this object

  - ### equals

    public final boolean equals(Object o)
    Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with the `compare` method from their corresponding wrapper classes.
    Specified by:
      `equals` in class `Record`
    Parameters:
      `o` - the object with which to compare
    Returns:
      `true` if this object is the same as the `o` argument; `false` otherwise.

  - ### accuracy

    @JsonPropertyDescription("The estimated horizontal accuracy radius in meters of this location.") public double accuracy()
    Returns the value of the `accuracy` record component.
    Returns:
      the value of the `accuracy` record component

  - ### altitude

    @JsonPropertyDescription("The altitude of this location in meters above the WGS84 reference ellipsoid.") public double altitude()
    Returns the value of the `altitude` record component.
    Returns:
      the value of the `altitude` record component

  - ### bearing

    @JsonPropertyDescription("The bearing at the time of this location in degrees. ") public double bearing()
    Returns the value of the `bearing` record component.
    Returns:
      the value of the `bearing` record component

  - ### bearingAccuracy

    @JsonPropertyDescription("The estimated bearing accuracy in degrees of this location.") public double bearingAccuracy()
    Returns the value of the `bearingAccuracy` record component.
    Returns:
      the value of the `bearingAccuracy` record component

  - ### latitude

    @JsonPropertyDescription("The latitude in degrees.") public double latitude()
    Returns the value of the `latitude` record component.
    Returns:
      the value of the `latitude` record component

  - ### longitude

    @JsonPropertyDescription("The longitude in degrees.") public double longitude()
    Returns the value of the `longitude` record component.
    Returns:
      the value of the `longitude` record component

  - ### mslAltitude

    @JsonPropertyDescription("The Mean Sea Level altitude of this location in meters.") public double mslAltitude()
    Returns the value of the `mslAltitude` record component.
    Returns:
      the value of the `mslAltitude` record component

  - ### mslAltitudeAccuracy

    @JsonPropertyDescription("The estimated Mean Sea Level altitude accuracy in meters.") public double mslAltitudeAccuracy()
    Returns the value of the `mslAltitudeAccuracy` record component.
    Returns:
      the value of the `mslAltitudeAccuracy` record component

  - ### speed

    @JsonPropertyDescription("The speed at the time of this location in meters per second.") public double speed()
    Returns the value of the `speed` record component.
    Returns:
      the value of the `speed` record component

  - ### speedAccuracy

    @JsonPropertyDescription("The estimated speed accuracy in meters per second of this location.") public double speedAccuracy()
    Returns the value of the `speedAccuracy` record component.
    Returns:
      the value of the `speedAccuracy` record component