Class Vehicle.LoadLimit

  • All Implemented Interfaces:
    Vehicle.LoadLimitOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
    Enclosing class:
    Vehicle

    public static final class Vehicle.LoadLimit
    extends com.google.protobuf.GeneratedMessageV3
    implements Vehicle.LoadLimitOrBuilder
     Defines a load limit applying to a vehicle, e.g. "this truck may only
     carry up to 3500 kg". See
     [load_limits][google.cloud.optimization.v1.Vehicle.load_limits].
     
    Protobuf type google.cloud.optimization.v1.Vehicle.LoadLimit
    See Also:
    Serialized Form
    • Field Detail

      • SOFT_MAX_LOAD_FIELD_NUMBER

        public static final int SOFT_MAX_LOAD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COST_PER_UNIT_ABOVE_SOFT_MAX_FIELD_NUMBER

        public static final int COST_PER_UNIT_ABOVE_SOFT_MAX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • START_LOAD_INTERVAL_FIELD_NUMBER

        public static final int START_LOAD_INTERVAL_FIELD_NUMBER
        See Also:
        Constant Field Values
      • END_LOAD_INTERVAL_FIELD_NUMBER

        public static final int END_LOAD_INTERVAL_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasMaxLoad

        public boolean hasMaxLoad()
         The maximum acceptable amount of load.
         
        optional int64 max_load = 1;
        Specified by:
        hasMaxLoad in interface Vehicle.LoadLimitOrBuilder
        Returns:
        Whether the maxLoad field is set.
      • getMaxLoad

        public long getMaxLoad()
         The maximum acceptable amount of load.
         
        optional int64 max_load = 1;
        Specified by:
        getMaxLoad in interface Vehicle.LoadLimitOrBuilder
        Returns:
        The maxLoad.
      • getSoftMaxLoad

        public long getSoftMaxLoad()
         A soft limit of the load. See
         [cost_per_unit_above_soft_max][google.cloud.optimization.v1.Vehicle.LoadLimit.cost_per_unit_above_soft_max].
         
        int64 soft_max_load = 2;
        Specified by:
        getSoftMaxLoad in interface Vehicle.LoadLimitOrBuilder
        Returns:
        The softMaxLoad.
      • getCostPerUnitAboveSoftMax

        public double getCostPerUnitAboveSoftMax()
         If the load ever exceeds
         [soft_max_load][google.cloud.optimization.v1.Vehicle.LoadLimit.soft_max_load]
         along this vehicle's route, the following cost penalty applies (only once
         per vehicle): (load -
         [soft_max_load][google.cloud.optimization.v1.Vehicle.LoadLimit.soft_max_load])
         * [cost_per_unit_above_soft_max][google.cloud.optimization.v1.Vehicle.LoadLimit.cost_per_unit_above_soft_max]. All costs
         add up and must be in the same unit as
         [Shipment.penalty_cost][google.cloud.optimization.v1.Shipment.penalty_cost].
         
        double cost_per_unit_above_soft_max = 3;
        Specified by:
        getCostPerUnitAboveSoftMax in interface Vehicle.LoadLimitOrBuilder
        Returns:
        The costPerUnitAboveSoftMax.
      • hasStartLoadInterval

        public boolean hasStartLoadInterval()
         The acceptable load interval of the vehicle at the start of the route.
         
        .google.cloud.optimization.v1.Vehicle.LoadLimit.Interval start_load_interval = 4;
        Specified by:
        hasStartLoadInterval in interface Vehicle.LoadLimitOrBuilder
        Returns:
        Whether the startLoadInterval field is set.
      • hasEndLoadInterval

        public boolean hasEndLoadInterval()
         The acceptable load interval of the vehicle at the end of the route.
         
        .google.cloud.optimization.v1.Vehicle.LoadLimit.Interval end_load_interval = 5;
        Specified by:
        hasEndLoadInterval in interface Vehicle.LoadLimitOrBuilder
        Returns:
        Whether the endLoadInterval field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(ByteBuffer data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(ByteBuffer data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(com.google.protobuf.ByteString data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(com.google.protobuf.ByteString data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(byte[] data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(byte[] data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Vehicle.LoadLimit parseFrom​(com.google.protobuf.CodedInputStream input,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws IOException
        Throws:
        IOException
      • newBuilderForType

        public Vehicle.LoadLimit.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Vehicle.LoadLimit.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Vehicle.LoadLimit.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<Vehicle.LoadLimit> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Vehicle.LoadLimit getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder