Class Leg

  • All Implemented Interfaces:
    Serializable, SdkPojo, ToCopyableBuilder<Leg.Builder,​Leg>

    @Generated("software.amazon.awssdk:codegen")
    public final class Leg
    extends Object
    implements SdkPojo, Serializable, ToCopyableBuilder<Leg.Builder,​Leg>

    Contains the calculated route's details for each path between a pair of positions. The number of legs returned corresponds to one fewer than the total number of positions in the request.

    For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road:

    • The StartPosition is the departure position.

    • The EndPosition is the destination position.

    A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

    • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

    • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

    See Also:
    Serialized Form
    • Method Detail

      • distance

        public final Double distance()

        The distance between the leg's StartPosition and EndPosition along a calculated route.

        • The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles.

        Returns:
        The distance between the leg's StartPosition and EndPosition along a calculated route.

        • The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles.

      • durationSeconds

        public final Double durationSeconds()

        The estimated travel time between the leg's StartPosition and EndPosition. The travel mode and departure time that you specify in the request determines the calculated time.

        Returns:
        The estimated travel time between the leg's StartPosition and EndPosition. The travel mode and departure time that you specify in the request determines the calculated time.
      • hasEndPosition

        public final boolean hasEndPosition()
        For responses, this returns true if the service returned a value for the EndPosition property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • endPosition

        public final List<Double> endPosition()

        The terminating position of the leg. Follows the format [longitude,latitude].

        If the EndPosition isn't located on a road, it's snapped to a nearby road.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasEndPosition() method.

        Returns:
        The terminating position of the leg. Follows the format [longitude,latitude].

        If the EndPosition isn't located on a road, it's snapped to a nearby road.

      • geometry

        public final LegGeometry geometry()

        Contains the calculated route's path as a linestring geometry.

        Returns:
        Contains the calculated route's path as a linestring geometry.
      • hasStartPosition

        public final boolean hasStartPosition()
        For responses, this returns true if the service returned a value for the StartPosition property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • startPosition

        public final List<Double> startPosition()

        The starting position of the leg. Follows the format [longitude,latitude].

        If the StartPosition isn't located on a road, it's snapped to a nearby road.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasStartPosition() method.

        Returns:
        The starting position of the leg. Follows the format [longitude,latitude].

        If the StartPosition isn't located on a road, it's snapped to a nearby road.

      • hasSteps

        public final boolean hasSteps()
        For responses, this returns true if the service returned a value for the Steps property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • steps

        public final List<Step> steps()

        Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSteps() method.

        Returns:
        Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.
      • serializableBuilderClass

        public static Class<? extends Leg.Builder> serializableBuilderClass()
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)