public final class TimeWindow extends 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
 and
 ShipmentModel.global_end_time)
 and should respect:
 <code><code>
   0 <= </code>start_time<code> <= </code>soft_start_time<code> <= </code>end_time<code> and
   0 <= </code>start_time<code> <= </code>soft_end_time<code> <= </code>end_time<code>.
 </code></code>
 Protobuf type google.cloud.optimization.v1.TimeWindow
 
  
  
  
    Inherited Members
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT)
    
    
      com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT,int)
    
    
    
    
    
    
    
    
      com.google.protobuf.GeneratedMessageV3.<T>emptyList(java.lang.Class<T>)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
   
  Static Fields
  
  COST_PER_HOUR_AFTER_SOFT_END_TIME_FIELD_NUMBER
  
    public static final int COST_PER_HOUR_AFTER_SOFT_END_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  COST_PER_HOUR_BEFORE_SOFT_START_TIME_FIELD_NUMBER
  
    public static final int COST_PER_HOUR_BEFORE_SOFT_START_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  END_TIME_FIELD_NUMBER
  
    public static final int END_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  SOFT_END_TIME_FIELD_NUMBER
  
    public static final int SOFT_END_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  SOFT_START_TIME_FIELD_NUMBER
  
    public static final int SOFT_START_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  START_TIME_FIELD_NUMBER
  
    public static final int START_TIME_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  Static Methods
  
  
  getDefaultInstance()
  
    public static TimeWindow getDefaultInstance()
   
  
  
  getDescriptor()
  
    public static final Descriptors.Descriptor getDescriptor()
   
  
  
  newBuilder()
  
    public static TimeWindow.Builder newBuilder()
   
  
  
  newBuilder(TimeWindow prototype)
  
    public static TimeWindow.Builder newBuilder(TimeWindow prototype)
   
  
  
  
  
  
    public static TimeWindow parseDelimitedFrom(InputStream input)
   
  
  
  
  
  
  
    public static TimeWindow parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(byte[] data)
  
    public static TimeWindow parseFrom(byte[] data)
   
  
    
      
        | Parameter | 
      
      
        | Name | 
        Description | 
      
      
        data | 
        byte[]
  | 
      
    
  
  
  
  
  parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
  
    public static TimeWindow parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(ByteString data)
  
    public static TimeWindow parseFrom(ByteString data)
   
  
  
  
  
  parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
  
    public static TimeWindow parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  
  
    public static TimeWindow parseFrom(CodedInputStream input)
   
  
  
  
  
  
  
    public static TimeWindow parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  
  
    public static TimeWindow parseFrom(InputStream input)
   
  
  
  
  
  
  
    public static TimeWindow parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(ByteBuffer data)
  
    public static TimeWindow parseFrom(ByteBuffer data)
   
  
  
  
  
  parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
  
    public static TimeWindow parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parser()
  
    public static Parser<TimeWindow> parser()
   
  
  Methods
  
  
  equals(Object obj)
  
    public boolean equals(Object obj)
   
  
    
      
        | Parameter | 
      
      
        | Name | 
        Description | 
      
      
        obj | 
        Object
  | 
      
    
  
  
  Overrides
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        double | 
        The costPerHourAfterSoftEndTime. 
 | 
      
    
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        double | 
        The costPerHourBeforeSoftStartTime. 
 | 
      
    
  
  
  getDefaultInstanceForType()
  
    public TimeWindow getDefaultInstanceForType()
   
  
  
  getEndTime()
  
    public 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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The endTime. 
 | 
      
    
  
  
  getEndTimeOrBuilder()
  
    public 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;
 
  
  
  getParserForType()
  
    public Parser<TimeWindow> getParserForType()
   
  
  Overrides
  
  
  getSerializedSize()
  
    public int getSerializedSize()
   
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  Overrides
  
  
  getSoftEndTime()
  
    public Timestamp getSoftEndTime()
   
   The soft end time of the time window.
 .google.protobuf.Timestamp soft_end_time = 4;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The softEndTime. 
 | 
      
    
  
  
  getSoftEndTimeOrBuilder()
  
    public TimestampOrBuilder getSoftEndTimeOrBuilder()
   
   The soft end time of the time window.
 .google.protobuf.Timestamp soft_end_time = 4;
 
  
  
  getSoftStartTime()
  
    public Timestamp getSoftStartTime()
   
   The soft start time of the time window.
 .google.protobuf.Timestamp soft_start_time = 3;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The softStartTime. 
 | 
      
    
  
  
  getSoftStartTimeOrBuilder()
  
    public TimestampOrBuilder getSoftStartTimeOrBuilder()
   
   The soft start time of the time window.
 .google.protobuf.Timestamp soft_start_time = 3;
 
  
  
  getStartTime()
  
    public 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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The startTime. 
 | 
      
    
  
  
  getStartTimeOrBuilder()
  
    public 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;
 
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the costPerHourAfterSoftEndTime field is set. 
 | 
      
    
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the costPerHourBeforeSoftStartTime field is set. 
 | 
      
    
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the endTime field is set. 
 | 
      
    
  
  
  hasSoftEndTime()
  
    public boolean hasSoftEndTime()
   
   The soft end time of the time window.
 .google.protobuf.Timestamp soft_end_time = 4;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the softEndTime field is set. 
 | 
      
    
  
  
  hasSoftStartTime()
  
    public boolean hasSoftStartTime()
   
   The soft start time of the time window.
 .google.protobuf.Timestamp soft_start_time = 3;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the softStartTime field is set. 
 | 
      
    
  
  
  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;
 
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the startTime field is set. 
 | 
      
    
  
  
  hashCode()
  
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        int | 
         | 
      
    
  
  Overrides
  
  
  internalGetFieldAccessorTable()
  
    protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
   
  
  Overrides
  
  
  isInitialized()
  
    public final boolean isInitialized()
   
  
  Overrides
  
  
  newBuilderForType()
  
    public TimeWindow.Builder newBuilderForType()
   
  
  
  newBuilderForType(GeneratedMessageV3.BuilderParent parent)
  
    protected TimeWindow.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
   
  
  
  Overrides
  
  
  newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
  
    protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
   
  
  
    
      
        | Returns | 
      
      
        | Type | 
        Description | 
      
      
        Object | 
         | 
      
    
  
  Overrides
  
  
  toBuilder()
  
    public TimeWindow.Builder toBuilder()
   
  
  
  writeTo(CodedOutputStream output)
  
    public void writeTo(CodedOutputStream output)
   
  
  Overrides