Class TimeWindow

  • All Implemented Interfaces:
    TimeWindowOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class TimeWindow
    extends com.google.protobuf.GeneratedMessageV3
    implements TimeWindowOrBuilder
     Time windows constrain the time of an event, such as the arrival time at a
     visit, or the start and end time of a vehicle.
    
     Hard time window bounds, `start_time` and `end_time`, enforce the earliest
     and latest time of the event, such that `start_time <= event_time <=
     end_time`. The soft time window lower bound, `soft_start_time`, expresses a
     preference for the event to happen at or after `soft_start_time` by incurring
     a cost proportional to how long before soft_start_time the event occurs. The
     soft time window upper bound, `soft_end_time`, expresses a preference for the
     event to happen at or before `soft_end_time` by incurring a cost proportional
     to how long after `soft_end_time` the event occurs. `start_time`, `end_time`,
     `soft_start_time` and `soft_end_time` should be within the global time limits
     (see
     [ShipmentModel.global_start_time][google.cloud.optimization.v1.ShipmentModel.global_start_time]
     and
     [ShipmentModel.global_end_time][google.cloud.optimization.v1.ShipmentModel.global_end_time])
     and should respect:
     ```
       0 <= `start_time` <= `soft_start_time` <= `end_time` and
       0 <= `start_time` <= `soft_end_time` <= `end_time`.
     ```
     
    Protobuf type google.cloud.optimization.v1.TimeWindow
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TimeWindow.Builder
      Time windows constrain the time of an event, such as the arrival time at a visit, or the start and end time of a vehicle.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(Object obj)  
      double getCostPerHourAfterSoftEndTime()
      A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event.
      double getCostPerHourBeforeSoftStartTime()
      A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event.
      static TimeWindow getDefaultInstance()  
      TimeWindow getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      com.google.protobuf.Timestamp getEndTime()
      The hard time window end time.
      com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder()
      The hard time window end time.
      com.google.protobuf.Parser<TimeWindow> getParserForType()  
      int getSerializedSize()  
      com.google.protobuf.Timestamp getSoftEndTime()
      The soft end time of the time window.
      com.google.protobuf.TimestampOrBuilder getSoftEndTimeOrBuilder()
      The soft end time of the time window.
      com.google.protobuf.Timestamp getSoftStartTime()
      The soft start time of the time window.
      com.google.protobuf.TimestampOrBuilder getSoftStartTimeOrBuilder()
      The soft start time of the time window.
      com.google.protobuf.Timestamp getStartTime()
      The hard time window start time.
      com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder()
      The hard time window start time.
      boolean hasCostPerHourAfterSoftEndTime()
      A cost per hour added to other costs in the model if the event occurs after `soft_end_time`, computed as: ``` max(0, t.seconds - soft_end_time.seconds) * cost_per_hour_after_soft_end_time / 3600, t being the time of the event.
      boolean hasCostPerHourBeforeSoftStartTime()
      A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: ``` max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event.
      boolean hasEndTime()
      The hard time window end time.
      int hashCode()  
      boolean hasSoftEndTime()
      The soft end time of the time window.
      boolean hasSoftStartTime()
      The soft start time of the time window.
      boolean hasStartTime()
      The hard time window start time.
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static TimeWindow.Builder newBuilder()  
      static TimeWindow.Builder newBuilder​(TimeWindow prototype)  
      TimeWindow.Builder newBuilderForType()  
      protected TimeWindow.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)  
      protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)  
      static TimeWindow parseDelimitedFrom​(InputStream input)  
      static TimeWindow parseDelimitedFrom​(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static TimeWindow parseFrom​(byte[] data)  
      static TimeWindow parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static TimeWindow parseFrom​(com.google.protobuf.ByteString data)  
      static TimeWindow parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static TimeWindow parseFrom​(com.google.protobuf.CodedInputStream input)  
      static TimeWindow parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static TimeWindow parseFrom​(InputStream input)  
      static TimeWindow parseFrom​(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static TimeWindow parseFrom​(ByteBuffer data)  
      static TimeWindow parseFrom​(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<TimeWindow> parser()  
      TimeWindow.Builder toBuilder()  
      void writeTo​(com.google.protobuf.CodedOutputStream output)  
      • Methods inherited from class com.google.protobuf.GeneratedMessageV3

        canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
      • Methods inherited from class com.google.protobuf.AbstractMessage

        findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from interface com.google.protobuf.MessageLite

        toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Field Detail

      • START_TIME_FIELD_NUMBER

        public static final int START_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SOFT_START_TIME_FIELD_NUMBER

        public static final int SOFT_START_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SOFT_END_TIME_FIELD_NUMBER

        public static final int SOFT_END_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COST_PER_HOUR_BEFORE_SOFT_START_TIME_FIELD_NUMBER

        public static final int COST_PER_HOUR_BEFORE_SOFT_START_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • COST_PER_HOUR_AFTER_SOFT_END_TIME_FIELD_NUMBER

        public static final int COST_PER_HOUR_AFTER_SOFT_END_TIME_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
      • hasStartTime

        public boolean hasStartTime()
         The hard time window start time. If unspecified it will be set to
         `ShipmentModel.global_start_time`.
         
        .google.protobuf.Timestamp start_time = 1;
        Specified by:
        hasStartTime in interface TimeWindowOrBuilder
        Returns:
        Whether the startTime field is set.
      • getStartTime

        public com.google.protobuf.Timestamp getStartTime()
         The hard time window start time. If unspecified it will be set to
         `ShipmentModel.global_start_time`.
         
        .google.protobuf.Timestamp start_time = 1;
        Specified by:
        getStartTime in interface TimeWindowOrBuilder
        Returns:
        The startTime.
      • getStartTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder()
         The hard time window start time. If unspecified it will be set to
         `ShipmentModel.global_start_time`.
         
        .google.protobuf.Timestamp start_time = 1;
        Specified by:
        getStartTimeOrBuilder in interface TimeWindowOrBuilder
      • hasEndTime

        public boolean hasEndTime()
         The hard time window end time. If unspecified it will be set to
         `ShipmentModel.global_end_time`.
         
        .google.protobuf.Timestamp end_time = 2;
        Specified by:
        hasEndTime in interface TimeWindowOrBuilder
        Returns:
        Whether the endTime field is set.
      • getEndTime

        public com.google.protobuf.Timestamp getEndTime()
         The hard time window end time. If unspecified it will be set to
         `ShipmentModel.global_end_time`.
         
        .google.protobuf.Timestamp end_time = 2;
        Specified by:
        getEndTime in interface TimeWindowOrBuilder
        Returns:
        The endTime.
      • getEndTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder()
         The hard time window end time. If unspecified it will be set to
         `ShipmentModel.global_end_time`.
         
        .google.protobuf.Timestamp end_time = 2;
        Specified by:
        getEndTimeOrBuilder in interface TimeWindowOrBuilder
      • hasSoftStartTime

        public boolean hasSoftStartTime()
         The soft start time of the time window.
         
        .google.protobuf.Timestamp soft_start_time = 3;
        Specified by:
        hasSoftStartTime in interface TimeWindowOrBuilder
        Returns:
        Whether the softStartTime field is set.
      • getSoftStartTime

        public com.google.protobuf.Timestamp getSoftStartTime()
         The soft start time of the time window.
         
        .google.protobuf.Timestamp soft_start_time = 3;
        Specified by:
        getSoftStartTime in interface TimeWindowOrBuilder
        Returns:
        The softStartTime.
      • getSoftStartTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getSoftStartTimeOrBuilder()
         The soft start time of the time window.
         
        .google.protobuf.Timestamp soft_start_time = 3;
        Specified by:
        getSoftStartTimeOrBuilder in interface TimeWindowOrBuilder
      • hasSoftEndTime

        public boolean hasSoftEndTime()
         The soft end time of the time window.
         
        .google.protobuf.Timestamp soft_end_time = 4;
        Specified by:
        hasSoftEndTime in interface TimeWindowOrBuilder
        Returns:
        Whether the softEndTime field is set.
      • getSoftEndTime

        public com.google.protobuf.Timestamp getSoftEndTime()
         The soft end time of the time window.
         
        .google.protobuf.Timestamp soft_end_time = 4;
        Specified by:
        getSoftEndTime in interface TimeWindowOrBuilder
        Returns:
        The softEndTime.
      • getSoftEndTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getSoftEndTimeOrBuilder()
         The soft end time of the time window.
         
        .google.protobuf.Timestamp soft_end_time = 4;
        Specified by:
        getSoftEndTimeOrBuilder in interface TimeWindowOrBuilder
      • hasCostPerHourBeforeSoftStartTime

        public boolean hasCostPerHourBeforeSoftStartTime()
         A cost per hour added to other costs in the model if the event occurs
         before soft_start_time, computed as:
        
         ```
            max(0, soft_start_time - t.seconds)
                                   * cost_per_hour_before_soft_start_time / 3600,
         t being the time of the event.
         ```
        
         This cost must be positive, and the field can only be set if
         soft_start_time has been set.
         
        optional double cost_per_hour_before_soft_start_time = 5;
        Specified by:
        hasCostPerHourBeforeSoftStartTime in interface TimeWindowOrBuilder
        Returns:
        Whether the costPerHourBeforeSoftStartTime field is set.
      • getCostPerHourBeforeSoftStartTime

        public double getCostPerHourBeforeSoftStartTime()
         A cost per hour added to other costs in the model if the event occurs
         before soft_start_time, computed as:
        
         ```
            max(0, soft_start_time - t.seconds)
                                   * cost_per_hour_before_soft_start_time / 3600,
         t being the time of the event.
         ```
        
         This cost must be positive, and the field can only be set if
         soft_start_time has been set.
         
        optional double cost_per_hour_before_soft_start_time = 5;
        Specified by:
        getCostPerHourBeforeSoftStartTime in interface TimeWindowOrBuilder
        Returns:
        The costPerHourBeforeSoftStartTime.
      • hasCostPerHourAfterSoftEndTime

        public boolean hasCostPerHourAfterSoftEndTime()
         A cost per hour added to other costs in the model if the event occurs after
         `soft_end_time`, computed as:
        
         ```
            max(0, t.seconds - soft_end_time.seconds)
                             * cost_per_hour_after_soft_end_time / 3600,
         t being the time of the event.
         ```
        
         This cost must be positive, and the field can only be set if
         `soft_end_time` has been set.
         
        optional double cost_per_hour_after_soft_end_time = 6;
        Specified by:
        hasCostPerHourAfterSoftEndTime in interface TimeWindowOrBuilder
        Returns:
        Whether the costPerHourAfterSoftEndTime field is set.
      • getCostPerHourAfterSoftEndTime

        public double getCostPerHourAfterSoftEndTime()
         A cost per hour added to other costs in the model if the event occurs after
         `soft_end_time`, computed as:
        
         ```
            max(0, t.seconds - soft_end_time.seconds)
                             * cost_per_hour_after_soft_end_time / 3600,
         t being the time of the event.
         ```
        
         This cost must be positive, and the field can only be set if
         `soft_end_time` has been set.
         
        optional double cost_per_hour_after_soft_end_time = 6;
        Specified by:
        getCostPerHourAfterSoftEndTime in interface TimeWindowOrBuilder
        Returns:
        The costPerHourAfterSoftEndTime.
      • 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 TimeWindow parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

        protected TimeWindow.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static TimeWindow getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<TimeWindow> parser()
      • getParserForType

        public com.google.protobuf.Parser<TimeWindow> 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 TimeWindow getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder