All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.location.model.CalculateRouteRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Location module holds the client classes that are used for communicating with Amazon Location Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.location.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CalculateRouteRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the route calculator resource that you want to use to calculate the route. *

*/ private String calculatorName; /** *

* The start position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the position to * the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than * 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*/ private java.util.List departurePosition; /** *

* The finish position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the position to * the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*/ private java.util.List destinationPosition; /** *

* Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure * position and destination position. *

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows the order * that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the position to * the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*/ private java.util.List> waypointPositions; /** *

* Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, Bicycle or * Motorcycle as options for the TravelMode. *

* *

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and only * within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car *

*/ private String travelMode; /** *

* Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

*
    *
  • *

    * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

    *
  • *
*/ private java.util.Date departureTime; /** *

* Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route. *

*

* Default Value: false *

*

* Valid Values: false | true *

*/ private Boolean departNow; /** *

* Set the unit system to specify the distance. *

*

* Default Value: Kilometers *

*/ private String distanceUnit; /** *

* Set to include the geometry details in the result for each path between a pair of positions. *

*

* Default Value: false *

*

* Valid Values: false | true *

*/ private Boolean includeLegGeometry; /** *

* Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or * tolls. *

*

* Requirements: TravelMode must be specified as Car. *

*/ private CalculateRouteCarModeOptions carModeOptions; /** *

* Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or * tolls, and truck specifications to consider when choosing an optimal road. *

*

* Requirements: TravelMode must be specified as Truck. *

*/ private CalculateRouteTruckModeOptions truckModeOptions; /** *

* Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

* *

* ArrivalTime is not supported Esri. *

*
*/ private java.util.Date arrivalTime; /** *

* Specifies the distance to optimize for when calculating a route. *

*/ private String optimizeFor; /** *

* The optional API key * to authorize the request. *

*/ private String key; /** *

* The name of the route calculator resource that you want to use to calculate the route. *

* * @param calculatorName * The name of the route calculator resource that you want to use to calculate the route. */ public void setCalculatorName(String calculatorName) { this.calculatorName = calculatorName; } /** *

* The name of the route calculator resource that you want to use to calculate the route. *

* * @return The name of the route calculator resource that you want to use to calculate the route. */ public String getCalculatorName() { return this.calculatorName; } /** *

* The name of the route calculator resource that you want to use to calculate the route. *

* * @param calculatorName * The name of the route calculator resource that you want to use to calculate the route. * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withCalculatorName(String calculatorName) { setCalculatorName(calculatorName); return this; } /** *

* The start position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the position to * the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than * 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @return The start position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the * position to the nearest road. If Esri is the provider for your route calculator, specifying a route * that is longer than 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public java.util.List getDeparturePosition() { return departurePosition; } /** *

* The start position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the position to * the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than * 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param departurePosition * The start position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the * position to the nearest road. If Esri is the provider for your route calculator, specifying a route * that is longer than 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public void setDeparturePosition(java.util.Collection departurePosition) { if (departurePosition == null) { this.departurePosition = null; return; } this.departurePosition = new java.util.ArrayList(departurePosition); } /** *

* The start position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the position to * the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than * 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDeparturePosition(java.util.Collection)} or {@link #withDeparturePosition(java.util.Collection)} if * you want to override the existing values. *

* * @param departurePosition * The start position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the * position to the nearest road. If Esri is the provider for your route calculator, specifying a route * that is longer than 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDeparturePosition(Double... departurePosition) { if (this.departurePosition == null) { setDeparturePosition(new java.util.ArrayList(departurePosition.length)); } for (Double ele : departurePosition) { this.departurePosition.add(ele); } return this; } /** *

* The start position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the position to * the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than * 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param departurePosition * The start position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-123.115, 49.285] *

    *
  • *
* *

* If you specify a departure that's not located on a road, Amazon Location moves the * position to the nearest road. If Esri is the provider for your route calculator, specifying a route * that is longer than 400 km returns a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDeparturePosition(java.util.Collection departurePosition) { setDeparturePosition(departurePosition); return this; } /** *

* The finish position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the position to * the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @return The finish position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the * position to the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public java.util.List getDestinationPosition() { return destinationPosition; } /** *

* The finish position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the position to * the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param destinationPosition * The finish position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the * position to the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public void setDestinationPosition(java.util.Collection destinationPosition) { if (destinationPosition == null) { this.destinationPosition = null; return; } this.destinationPosition = new java.util.ArrayList(destinationPosition); } /** *

* The finish position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the position to * the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setDestinationPosition(java.util.Collection)} or {@link #withDestinationPosition(java.util.Collection)} * if you want to override the existing values. *

* * @param destinationPosition * The finish position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the * position to the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDestinationPosition(Double... destinationPosition) { if (this.destinationPosition == null) { setDestinationPosition(new java.util.ArrayList(destinationPosition.length)); } for (Double ele : destinationPosition) { this.destinationPosition.add(ele); } return this; } /** *

* The finish position for the route. Defined in World Geodetic System (WGS 84) format: * [longitude, latitude]. *

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the position to * the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param destinationPosition * The finish position for the route. Defined in World Geodetic System (WGS 84) * format: [longitude, latitude].

*
    *
  • *

    * For example, [-122.339, 47.615] *

    *
  • *
* *

* If you specify a destination that's not located on a road, Amazon Location moves the * position to the nearest road. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDestinationPosition(java.util.Collection destinationPosition) { setDestinationPosition(destinationPosition); return this; } /** *

* Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure * position and destination position. *

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows the order * that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the position to * the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @return Specifies an ordered list of up to 23 intermediate positions to include along a route between the * departure position and destination position.

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows * the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the * position to the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns * a 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public java.util.List> getWaypointPositions() { return waypointPositions; } /** *

* Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure * position and destination position. *

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows the order * that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the position to * the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param waypointPositions * Specifies an ordered list of up to 23 intermediate positions to include along a route between the * departure position and destination position.

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows * the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the * position to the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] */ public void setWaypointPositions(java.util.Collection> waypointPositions) { if (waypointPositions == null) { this.waypointPositions = null; return; } this.waypointPositions = new java.util.ArrayList>(waypointPositions); } /** *

* Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure * position and destination position. *

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows the order * that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the position to * the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setWaypointPositions(java.util.Collection)} or {@link #withWaypointPositions(java.util.Collection)} if * you want to override the existing values. *

* * @param waypointPositions * Specifies an ordered list of up to 23 intermediate positions to include along a route between the * departure position and destination position.

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows * the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the * position to the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withWaypointPositions(java.util.List... waypointPositions) { if (this.waypointPositions == null) { setWaypointPositions(new java.util.ArrayList>(waypointPositions.length)); } for (java.util.List ele : waypointPositions) { this.waypointPositions.add(ele); } return this; } /** *

* Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure * position and destination position. *

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows the order * that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the position to * the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] *

* * @param waypointPositions * Specifies an ordered list of up to 23 intermediate positions to include along a route between the * departure position and destination position.

*
    *
  • *

    * For example, from the DeparturePosition [-123.115, 49.285], the route follows * the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]] *

    *
  • *
* *

* If you specify a waypoint position that's not located on a road, Amazon Location moves the * position to the nearest road. *

*

* Specifying more than 23 waypoints returns a 400 ValidationException error. *

*

* If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a * 400 RoutesValidationException error. *

*
*

* Valid Values: [-180 to 180,-90 to 90] * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withWaypointPositions(java.util.Collection> waypointPositions) { setWaypointPositions(waypointPositions); return this; } /** *

* Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, Bicycle or * Motorcycle as options for the TravelMode. *

* *

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and only * within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car *

* * @param travelMode * Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, * Bicycle or Motorcycle as options for the TravelMode.

*

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and * only within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car * @see TravelMode */ public void setTravelMode(String travelMode) { this.travelMode = travelMode; } /** *

* Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, Bicycle or * Motorcycle as options for the TravelMode. *

* *

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and only * within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car *

* * @return Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, * Bicycle or Motorcycle as options for the TravelMode.

*

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and * only within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car * @see TravelMode */ public String getTravelMode() { return this.travelMode; } /** *

* Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, Bicycle or * Motorcycle as options for the TravelMode. *

* *

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and only * within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car *

* * @param travelMode * Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, * Bicycle or Motorcycle as options for the TravelMode.

*

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and * only within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car * @return Returns a reference to this object so that method calls can be chained together. * @see TravelMode */ public CalculateRouteRequest withTravelMode(String travelMode) { setTravelMode(travelMode); return this; } /** *

* Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, Bicycle or * Motorcycle as options for the TravelMode. *

* *

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and only * within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car *

* * @param travelMode * Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road * compatibility. You can choose Car, Truck, Walking, * Bicycle or Motorcycle as options for the TravelMode.

*

* Bicycle and Motorcycle are only valid when using Grab as a data provider, and * only within Southeast Asia. *

*

* Truck is not available for Grab. *

*

* For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon * Location Service Developer Guide. *

*
*

* The TravelMode you specify also determines how you specify route preferences: *

*
    *
  • *

    * If traveling by Car use the CarModeOptions parameter. *

    *
  • *
  • *

    * If traveling by Truck use the TruckModeOptions parameter. *

    *
  • *
*

* Default Value: Car * @return Returns a reference to this object so that method calls can be chained together. * @see TravelMode */ public CalculateRouteRequest withTravelMode(TravelMode travelMode) { this.travelMode = travelMode.toString(); return this; } /** *

* Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

*
    *
  • *

    * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

    *
  • *
* * @param departureTime * Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

*
    *
  • *

    * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

    *
  • */ public void setDepartureTime(java.util.Date departureTime) { this.departureTime = departureTime; } /** *

    * Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

    *
      *
    • *

      * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

      *
    • *
    * * @return Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

    *
      *
    • *

      * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

      *
    • */ public java.util.Date getDepartureTime() { return this.departureTime; } /** *

      * Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

      *
        *
      • *

        * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

        *
      • *
      * * @param departureTime * Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

      *
        *
      • *

        * In ISO 8601 format: * YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00 *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDepartureTime(java.util.Date departureTime) { setDepartureTime(departureTime); return this; } /** *

        * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @param departNow * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the * best time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public void setDepartNow(Boolean departNow) { this.departNow = departNow; } /** *

        * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @return Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, * the best time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public Boolean getDepartNow() { return this.departNow; } /** *

        * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @param departNow * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the * best time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * Default Value: false *

        *

        * Valid Values: false | true * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withDepartNow(Boolean departNow) { setDepartNow(departNow); return this; } /** *

        * Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @return Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, * the best time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public Boolean isDepartNow() { return this.departNow; } /** *

        * Set the unit system to specify the distance. *

        *

        * Default Value: Kilometers *

        * * @param distanceUnit * Set the unit system to specify the distance.

        *

        * Default Value: Kilometers * @see DistanceUnit */ public void setDistanceUnit(String distanceUnit) { this.distanceUnit = distanceUnit; } /** *

        * Set the unit system to specify the distance. *

        *

        * Default Value: Kilometers *

        * * @return Set the unit system to specify the distance.

        *

        * Default Value: Kilometers * @see DistanceUnit */ public String getDistanceUnit() { return this.distanceUnit; } /** *

        * Set the unit system to specify the distance. *

        *

        * Default Value: Kilometers *

        * * @param distanceUnit * Set the unit system to specify the distance.

        *

        * Default Value: Kilometers * @return Returns a reference to this object so that method calls can be chained together. * @see DistanceUnit */ public CalculateRouteRequest withDistanceUnit(String distanceUnit) { setDistanceUnit(distanceUnit); return this; } /** *

        * Set the unit system to specify the distance. *

        *

        * Default Value: Kilometers *

        * * @param distanceUnit * Set the unit system to specify the distance.

        *

        * Default Value: Kilometers * @return Returns a reference to this object so that method calls can be chained together. * @see DistanceUnit */ public CalculateRouteRequest withDistanceUnit(DistanceUnit distanceUnit) { this.distanceUnit = distanceUnit.toString(); return this; } /** *

        * Set to include the geometry details in the result for each path between a pair of positions. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @param includeLegGeometry * Set to include the geometry details in the result for each path between a pair of positions.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public void setIncludeLegGeometry(Boolean includeLegGeometry) { this.includeLegGeometry = includeLegGeometry; } /** *

        * Set to include the geometry details in the result for each path between a pair of positions. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @return Set to include the geometry details in the result for each path between a pair of positions.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public Boolean getIncludeLegGeometry() { return this.includeLegGeometry; } /** *

        * Set to include the geometry details in the result for each path between a pair of positions. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @param includeLegGeometry * Set to include the geometry details in the result for each path between a pair of positions.

        *

        * Default Value: false *

        *

        * Valid Values: false | true * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withIncludeLegGeometry(Boolean includeLegGeometry) { setIncludeLegGeometry(includeLegGeometry); return this; } /** *

        * Set to include the geometry details in the result for each path between a pair of positions. *

        *

        * Default Value: false *

        *

        * Valid Values: false | true *

        * * @return Set to include the geometry details in the result for each path between a pair of positions.

        *

        * Default Value: false *

        *

        * Valid Values: false | true */ public Boolean isIncludeLegGeometry() { return this.includeLegGeometry; } /** *

        * Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or * tolls. *

        *

        * Requirements: TravelMode must be specified as Car. *

        * * @param carModeOptions * Specifies route preferences when traveling by Car, such as avoiding routes that use ferries * or tolls.

        *

        * Requirements: TravelMode must be specified as Car. */ public void setCarModeOptions(CalculateRouteCarModeOptions carModeOptions) { this.carModeOptions = carModeOptions; } /** *

        * Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or * tolls. *

        *

        * Requirements: TravelMode must be specified as Car. *

        * * @return Specifies route preferences when traveling by Car, such as avoiding routes that use ferries * or tolls.

        *

        * Requirements: TravelMode must be specified as Car. */ public CalculateRouteCarModeOptions getCarModeOptions() { return this.carModeOptions; } /** *

        * Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or * tolls. *

        *

        * Requirements: TravelMode must be specified as Car. *

        * * @param carModeOptions * Specifies route preferences when traveling by Car, such as avoiding routes that use ferries * or tolls.

        *

        * Requirements: TravelMode must be specified as Car. * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withCarModeOptions(CalculateRouteCarModeOptions carModeOptions) { setCarModeOptions(carModeOptions); return this; } /** *

        * Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or * tolls, and truck specifications to consider when choosing an optimal road. *

        *

        * Requirements: TravelMode must be specified as Truck. *

        * * @param truckModeOptions * Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries * or tolls, and truck specifications to consider when choosing an optimal road.

        *

        * Requirements: TravelMode must be specified as Truck. */ public void setTruckModeOptions(CalculateRouteTruckModeOptions truckModeOptions) { this.truckModeOptions = truckModeOptions; } /** *

        * Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or * tolls, and truck specifications to consider when choosing an optimal road. *

        *

        * Requirements: TravelMode must be specified as Truck. *

        * * @return Specifies route preferences when traveling by Truck, such as avoiding routes that use * ferries or tolls, and truck specifications to consider when choosing an optimal road.

        *

        * Requirements: TravelMode must be specified as Truck. */ public CalculateRouteTruckModeOptions getTruckModeOptions() { return this.truckModeOptions; } /** *

        * Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or * tolls, and truck specifications to consider when choosing an optimal road. *

        *

        * Requirements: TravelMode must be specified as Truck. *

        * * @param truckModeOptions * Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries * or tolls, and truck specifications to consider when choosing an optimal road.

        *

        * Requirements: TravelMode must be specified as Truck. * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withTruckModeOptions(CalculateRouteTruckModeOptions truckModeOptions) { setTruckModeOptions(truckModeOptions); return this; } /** *

        * Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

        * *

        * ArrivalTime is not supported Esri. *

        *
        * * @param arrivalTime * Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * ArrivalTime is not supported Esri. *

        */ public void setArrivalTime(java.util.Date arrivalTime) { this.arrivalTime = arrivalTime; } /** *

        * Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

        * *

        * ArrivalTime is not supported Esri. *

        *
        * * @return Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * ArrivalTime is not supported Esri. *

        */ public java.util.Date getArrivalTime() { return this.arrivalTime; } /** *

        * Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of * day to travel with the best traffic conditions is used to calculate the route. *

        * *

        * ArrivalTime is not supported Esri. *

        *
        * * @param arrivalTime * Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best * time of day to travel with the best traffic conditions is used to calculate the route.

        *

        * ArrivalTime is not supported Esri. *

        * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withArrivalTime(java.util.Date arrivalTime) { setArrivalTime(arrivalTime); return this; } /** *

        * Specifies the distance to optimize for when calculating a route. *

        * * @param optimizeFor * Specifies the distance to optimize for when calculating a route. * @see OptimizationMode */ public void setOptimizeFor(String optimizeFor) { this.optimizeFor = optimizeFor; } /** *

        * Specifies the distance to optimize for when calculating a route. *

        * * @return Specifies the distance to optimize for when calculating a route. * @see OptimizationMode */ public String getOptimizeFor() { return this.optimizeFor; } /** *

        * Specifies the distance to optimize for when calculating a route. *

        * * @param optimizeFor * Specifies the distance to optimize for when calculating a route. * @return Returns a reference to this object so that method calls can be chained together. * @see OptimizationMode */ public CalculateRouteRequest withOptimizeFor(String optimizeFor) { setOptimizeFor(optimizeFor); return this; } /** *

        * Specifies the distance to optimize for when calculating a route. *

        * * @param optimizeFor * Specifies the distance to optimize for when calculating a route. * @return Returns a reference to this object so that method calls can be chained together. * @see OptimizationMode */ public CalculateRouteRequest withOptimizeFor(OptimizationMode optimizeFor) { this.optimizeFor = optimizeFor.toString(); return this; } /** *

        * The optional API key * to authorize the request. *

        * * @param key * The optional API * key to authorize the request. */ public void setKey(String key) { this.key = key; } /** *

        * The optional API key * to authorize the request. *

        * * @return The optional API * key to authorize the request. */ public String getKey() { return this.key; } /** *

        * The optional API key * to authorize the request. *

        * * @param key * The optional API * key to authorize the request. * @return Returns a reference to this object so that method calls can be chained together. */ public CalculateRouteRequest withKey(String key) { setKey(key); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getCalculatorName() != null) sb.append("CalculatorName: ").append(getCalculatorName()).append(","); if (getDeparturePosition() != null) sb.append("DeparturePosition: ").append("***Sensitive Data Redacted***").append(","); if (getDestinationPosition() != null) sb.append("DestinationPosition: ").append("***Sensitive Data Redacted***").append(","); if (getWaypointPositions() != null) sb.append("WaypointPositions: ").append("***Sensitive Data Redacted***").append(","); if (getTravelMode() != null) sb.append("TravelMode: ").append(getTravelMode()).append(","); if (getDepartureTime() != null) sb.append("DepartureTime: ").append(getDepartureTime()).append(","); if (getDepartNow() != null) sb.append("DepartNow: ").append(getDepartNow()).append(","); if (getDistanceUnit() != null) sb.append("DistanceUnit: ").append(getDistanceUnit()).append(","); if (getIncludeLegGeometry() != null) sb.append("IncludeLegGeometry: ").append(getIncludeLegGeometry()).append(","); if (getCarModeOptions() != null) sb.append("CarModeOptions: ").append(getCarModeOptions()).append(","); if (getTruckModeOptions() != null) sb.append("TruckModeOptions: ").append(getTruckModeOptions()).append(","); if (getArrivalTime() != null) sb.append("ArrivalTime: ").append(getArrivalTime()).append(","); if (getOptimizeFor() != null) sb.append("OptimizeFor: ").append(getOptimizeFor()).append(","); if (getKey() != null) sb.append("Key: ").append("***Sensitive Data Redacted***"); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CalculateRouteRequest == false) return false; CalculateRouteRequest other = (CalculateRouteRequest) obj; if (other.getCalculatorName() == null ^ this.getCalculatorName() == null) return false; if (other.getCalculatorName() != null && other.getCalculatorName().equals(this.getCalculatorName()) == false) return false; if (other.getDeparturePosition() == null ^ this.getDeparturePosition() == null) return false; if (other.getDeparturePosition() != null && other.getDeparturePosition().equals(this.getDeparturePosition()) == false) return false; if (other.getDestinationPosition() == null ^ this.getDestinationPosition() == null) return false; if (other.getDestinationPosition() != null && other.getDestinationPosition().equals(this.getDestinationPosition()) == false) return false; if (other.getWaypointPositions() == null ^ this.getWaypointPositions() == null) return false; if (other.getWaypointPositions() != null && other.getWaypointPositions().equals(this.getWaypointPositions()) == false) return false; if (other.getTravelMode() == null ^ this.getTravelMode() == null) return false; if (other.getTravelMode() != null && other.getTravelMode().equals(this.getTravelMode()) == false) return false; if (other.getDepartureTime() == null ^ this.getDepartureTime() == null) return false; if (other.getDepartureTime() != null && other.getDepartureTime().equals(this.getDepartureTime()) == false) return false; if (other.getDepartNow() == null ^ this.getDepartNow() == null) return false; if (other.getDepartNow() != null && other.getDepartNow().equals(this.getDepartNow()) == false) return false; if (other.getDistanceUnit() == null ^ this.getDistanceUnit() == null) return false; if (other.getDistanceUnit() != null && other.getDistanceUnit().equals(this.getDistanceUnit()) == false) return false; if (other.getIncludeLegGeometry() == null ^ this.getIncludeLegGeometry() == null) return false; if (other.getIncludeLegGeometry() != null && other.getIncludeLegGeometry().equals(this.getIncludeLegGeometry()) == false) return false; if (other.getCarModeOptions() == null ^ this.getCarModeOptions() == null) return false; if (other.getCarModeOptions() != null && other.getCarModeOptions().equals(this.getCarModeOptions()) == false) return false; if (other.getTruckModeOptions() == null ^ this.getTruckModeOptions() == null) return false; if (other.getTruckModeOptions() != null && other.getTruckModeOptions().equals(this.getTruckModeOptions()) == false) return false; if (other.getArrivalTime() == null ^ this.getArrivalTime() == null) return false; if (other.getArrivalTime() != null && other.getArrivalTime().equals(this.getArrivalTime()) == false) return false; if (other.getOptimizeFor() == null ^ this.getOptimizeFor() == null) return false; if (other.getOptimizeFor() != null && other.getOptimizeFor().equals(this.getOptimizeFor()) == false) return false; if (other.getKey() == null ^ this.getKey() == null) return false; if (other.getKey() != null && other.getKey().equals(this.getKey()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getCalculatorName() == null) ? 0 : getCalculatorName().hashCode()); hashCode = prime * hashCode + ((getDeparturePosition() == null) ? 0 : getDeparturePosition().hashCode()); hashCode = prime * hashCode + ((getDestinationPosition() == null) ? 0 : getDestinationPosition().hashCode()); hashCode = prime * hashCode + ((getWaypointPositions() == null) ? 0 : getWaypointPositions().hashCode()); hashCode = prime * hashCode + ((getTravelMode() == null) ? 0 : getTravelMode().hashCode()); hashCode = prime * hashCode + ((getDepartureTime() == null) ? 0 : getDepartureTime().hashCode()); hashCode = prime * hashCode + ((getDepartNow() == null) ? 0 : getDepartNow().hashCode()); hashCode = prime * hashCode + ((getDistanceUnit() == null) ? 0 : getDistanceUnit().hashCode()); hashCode = prime * hashCode + ((getIncludeLegGeometry() == null) ? 0 : getIncludeLegGeometry().hashCode()); hashCode = prime * hashCode + ((getCarModeOptions() == null) ? 0 : getCarModeOptions().hashCode()); hashCode = prime * hashCode + ((getTruckModeOptions() == null) ? 0 : getTruckModeOptions().hashCode()); hashCode = prime * hashCode + ((getArrivalTime() == null) ? 0 : getArrivalTime().hashCode()); hashCode = prime * hashCode + ((getOptimizeFor() == null) ? 0 : getOptimizeFor().hashCode()); hashCode = prime * hashCode + ((getKey() == null) ? 0 : getKey().hashCode()); return hashCode; } @Override public CalculateRouteRequest clone() { return (CalculateRouteRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy