Class BatterySpecifications

  • java.lang.Object
    • com.here.sdk.routing.BatterySpecifications

  • public final class BatterySpecifications
    extends java.lang.Object

    Parameters related to the electric vehicle's battery.

    • Constructor Summary

      Constructors 
      Constructor Description
      BatterySpecifications()
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours, java.lang.Double minChargeAtFirstChargingStationInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours, java.lang.Double minChargeAtFirstChargingStationInKilowattHours, double minChargeAtDestinationInKilowattHours)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours, java.lang.Double minChargeAtFirstChargingStationInKilowattHours, double minChargeAtDestinationInKilowattHours, java.lang.Double maxChargingVoltageInVolts)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours, java.lang.Double minChargeAtFirstChargingStationInKilowattHours, double minChargeAtDestinationInKilowattHours, java.lang.Double maxChargingVoltageInVolts, java.lang.Double maxChargingCurrentInAmperes)
      Creates a new instance.
      BatterySpecifications​(double totalCapacityInKilowattHours, double initialChargeInKilowattHours, double targetChargeInKilowattHours, java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve, java.util.List<ChargingConnectorType> connectorTypes, double minChargeAtChargingStationInKilowattHours, java.lang.Double minChargeAtFirstChargingStationInKilowattHours, double minChargeAtDestinationInKilowattHours, java.lang.Double maxChargingVoltageInVolts, java.lang.Double maxChargingCurrentInAmperes, Duration chargingSetupDuration)
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • totalCapacityInKilowattHours

        public double totalCapacityInKilowattHours

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

      • initialChargeInKilowattHours

        public double initialChargeInKilowattHours

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

      • targetChargeInKilowattHours

        public double targetChargeInKilowattHours

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • chargingCurve

        @NonNull
        public java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

      • connectorTypes

        @NonNull
        public java.util.List<ChargingConnectorType> connectorTypes

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

      • minChargeAtChargingStationInKilowattHours

        public double minChargeAtChargingStationInKilowattHours

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • minChargeAtFirstChargingStationInKilowattHours

        @Nullable
        public java.lang.Double minChargeAtFirstChargingStationInKilowattHours

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

      • minChargeAtDestinationInKilowattHours

        public double minChargeAtDestinationInKilowattHours

        Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • maxChargingVoltageInVolts

        @Nullable
        public java.lang.Double maxChargingVoltageInVolts

        Maximum charging voltage supported by the vehicle's battery in Volts. It must be positive. When omitted, the voltage is determined by the charging station attributes. Defaults to null.

      • maxChargingCurrentInAmperes

        @Nullable
        public java.lang.Double maxChargingCurrentInAmperes

        Maximum charging current supported by the vehicle's battery in Amperes. It must be positive. When omitted, the charging current is determined by the charging station attributes. Defaults to null.

      • chargingSetupDuration

        @NonNull
        public Duration chargingSetupDuration

        Time in seconds spent after arriving at a charging station, but before actually charging, e.g., time spent for payment processing. Defaults to 0 seconds.

    • Constructor Detail

      • BatterySpecifications

        public BatterySpecifications()

        Creates a new instance.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours,
                                     @Nullable
                                     java.lang.Double minChargeAtFirstChargingStationInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        minChargeAtFirstChargingStationInKilowattHours -

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours,
                                     @Nullable
                                     java.lang.Double minChargeAtFirstChargingStationInKilowattHours,
                                     double minChargeAtDestinationInKilowattHours)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        minChargeAtFirstChargingStationInKilowattHours -

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

        minChargeAtDestinationInKilowattHours -

        Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours,
                                     @Nullable
                                     java.lang.Double minChargeAtFirstChargingStationInKilowattHours,
                                     double minChargeAtDestinationInKilowattHours,
                                     @Nullable
                                     java.lang.Double maxChargingVoltageInVolts)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        minChargeAtFirstChargingStationInKilowattHours -

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

        minChargeAtDestinationInKilowattHours -

        Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        maxChargingVoltageInVolts -

        Maximum charging voltage supported by the vehicle's battery in Volts. It must be positive. When omitted, the voltage is determined by the charging station attributes. Defaults to null.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours,
                                     @Nullable
                                     java.lang.Double minChargeAtFirstChargingStationInKilowattHours,
                                     double minChargeAtDestinationInKilowattHours,
                                     @Nullable
                                     java.lang.Double maxChargingVoltageInVolts,
                                     @Nullable
                                     java.lang.Double maxChargingCurrentInAmperes)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        minChargeAtFirstChargingStationInKilowattHours -

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

        minChargeAtDestinationInKilowattHours -

        Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        maxChargingVoltageInVolts -

        Maximum charging voltage supported by the vehicle's battery in Volts. It must be positive. When omitted, the voltage is determined by the charging station attributes. Defaults to null.

        maxChargingCurrentInAmperes -

        Maximum charging current supported by the vehicle's battery in Amperes. It must be positive. When omitted, the charging current is determined by the charging station attributes. Defaults to null.

      • BatterySpecifications

        public BatterySpecifications​(double totalCapacityInKilowattHours,
                                     double initialChargeInKilowattHours,
                                     double targetChargeInKilowattHours,
                                     @NonNull
                                     java.util.Map<java.lang.Double,​java.lang.Double> chargingCurve,
                                     @NonNull
                                     java.util.List<ChargingConnectorType> connectorTypes,
                                     double minChargeAtChargingStationInKilowattHours,
                                     @Nullable
                                     java.lang.Double minChargeAtFirstChargingStationInKilowattHours,
                                     double minChargeAtDestinationInKilowattHours,
                                     @Nullable
                                     java.lang.Double maxChargingVoltageInVolts,
                                     @Nullable
                                     java.lang.Double maxChargingCurrentInAmperes,
                                     @NonNull
                                     Duration chargingSetupDuration)

        Creates a new instance.

        Parameters:
        totalCapacityInKilowattHours -

        Total capacity of the vehicle's battery (in kWh). It must be positive. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an invalid parameter error.

        initialChargeInKilowattHours -

        Charge level of the vehicle's battery at the start of the route (in kWh). It must be non-negative and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0. Note: For a user-planned ChargingStop, this parameter is also required. If not set greater than 0, the route calculation will fail as an an invalid parameter error.

        targetChargeInKilowattHours -

        Maximum charge to which the battery should be charged at a charging station (in kWh). It must be positive and less than or equal to the value of totalCapacityInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        chargingCurve -

        Function curve describing the maximum battery charging rate (in kW) at a given charge level (in kWh). Map keys represent charge levels that are non-negative floating point values in units of (kWh). Map values represent charging rate values that are positive floating point values in units of (kW). Given charge levels must cover the entire range of [0, targetChargeInKilowattHours], otherwise the BatterySpecifications instance is considered invalid. The charging curve is considered piecewise constant instead of being interpolated. Defaults to an empty container. Note: For a user-planned ChargingStop, this parameter is also required. If one or more values are not set, the route calculation will fail as an invalid parameter error.

        connectorTypes -

        List of available charging connector types. It must be at least one charging connector type added, otherwise the BatterySpecifications instance is considered invalid. Defaults to an empty container.

        minChargeAtChargingStationInKilowattHours -

        Minimum charge when arriving at a charging station in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        minChargeAtFirstChargingStationInKilowattHours -

        Minimum charge when arriving at first charging station in kWh. This overrides minChargeAtChargingStationInKilowattHours for the first charging station. If not specified, minChargeAtChargingStationInKilowattHours will be used for all charging stations, including the first one. Defaults to null. When initialized, it must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. This is usually used when the current charge is too low to reach a charging station within minChargeAtChargingStation limits.

        minChargeAtDestinationInKilowattHours -

        Minimum charge at the final route destination in kWh. It must be non-negative and less than the value of targetChargeInKilowattHours, otherwise the BatterySpecifications instance is considered invalid. Defaults to 0.

        maxChargingVoltageInVolts -

        Maximum charging voltage supported by the vehicle's battery in Volts. It must be positive. When omitted, the voltage is determined by the charging station attributes. Defaults to null.

        maxChargingCurrentInAmperes -

        Maximum charging current supported by the vehicle's battery in Amperes. It must be positive. When omitted, the charging current is determined by the charging station attributes. Defaults to null.

        chargingSetupDuration -

        Time in seconds spent after arriving at a charging station, but before actually charging, e.g., time spent for payment processing. Defaults to 0 seconds.

    • Method Detail

      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object