Class BreakRule.FrequencyConstraint

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.optimization.v1.BreakRule.FrequencyConstraint
All Implemented Interfaces:
BreakRule.FrequencyConstraintOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
Enclosing class:
BreakRule

public static final class BreakRule.FrequencyConstraint extends com.google.protobuf.GeneratedMessage implements BreakRule.FrequencyConstraintOrBuilder
 One may further constrain the frequency and duration of the breaks
 specified above, by enforcing a minimum break frequency, such as
 "There must be a break of at least 1 hour every 12 hours". Assuming that
 this can be interpreted as "Within any sliding time window of 12h, there
 must be at least one break of at least one hour", that example would
 translate to the following `FrequencyConstraint`:
 ```
 {
 min_break_duration { seconds: 3600 }         # 1 hour.
 max_inter_break_duration { seconds: 39600 }  # 11 hours (12 - 1 = 11).
 }
 ```

 The timing and duration of the breaks in the solution will respect all
 such constraints, in addition to the time windows and minimum durations
 already specified in the `BreakRequest`.

 A `FrequencyConstraint` may in practice apply to non-consecutive breaks.
 For example, the following schedule honors the "1h every 12h" example:
 ```
 04:00 vehicle start
 .. performing travel and visits ..
 09:00 1 hour break
 10:00 end of the break
 .. performing travel and visits ..
 12:00 20-min lunch break
 12:20 end of the break
 .. performing travel and visits ..
 21:00 1 hour break
 22:00 end of the break
 .. performing travel and visits ..
 23:59 vehicle end
 ```
 
Protobuf type google.cloud.optimization.v1.BreakRule.FrequencyConstraint
See Also:
  • Field Details

    • MIN_BREAK_DURATION_FIELD_NUMBER

      public static final int MIN_BREAK_DURATION_FIELD_NUMBER
      See Also:
    • MAX_INTER_BREAK_DURATION_FIELD_NUMBER

      public static final int MAX_INTER_BREAK_DURATION_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • hasMinBreakDuration

      public boolean hasMinBreakDuration()
       Required. Minimum break duration for this constraint. Nonnegative.
       See description of `FrequencyConstraint`.
       
      .google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasMinBreakDuration in interface BreakRule.FrequencyConstraintOrBuilder
      Returns:
      Whether the minBreakDuration field is set.
    • getMinBreakDuration

      public com.google.protobuf.Duration getMinBreakDuration()
       Required. Minimum break duration for this constraint. Nonnegative.
       See description of `FrequencyConstraint`.
       
      .google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMinBreakDuration in interface BreakRule.FrequencyConstraintOrBuilder
      Returns:
      The minBreakDuration.
    • getMinBreakDurationOrBuilder

      public com.google.protobuf.DurationOrBuilder getMinBreakDurationOrBuilder()
       Required. Minimum break duration for this constraint. Nonnegative.
       See description of `FrequencyConstraint`.
       
      .google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMinBreakDurationOrBuilder in interface BreakRule.FrequencyConstraintOrBuilder
    • hasMaxInterBreakDuration

      public boolean hasMaxInterBreakDuration()
       Required. Maximum allowed span of any interval of time in the route that
       does not include at least partially a break of `duration >=
       min_break_duration`. Must be positive.
       
      .google.protobuf.Duration max_inter_break_duration = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasMaxInterBreakDuration in interface BreakRule.FrequencyConstraintOrBuilder
      Returns:
      Whether the maxInterBreakDuration field is set.
    • getMaxInterBreakDuration

      public com.google.protobuf.Duration getMaxInterBreakDuration()
       Required. Maximum allowed span of any interval of time in the route that
       does not include at least partially a break of `duration >=
       min_break_duration`. Must be positive.
       
      .google.protobuf.Duration max_inter_break_duration = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMaxInterBreakDuration in interface BreakRule.FrequencyConstraintOrBuilder
      Returns:
      The maxInterBreakDuration.
    • getMaxInterBreakDurationOrBuilder

      public com.google.protobuf.DurationOrBuilder getMaxInterBreakDurationOrBuilder()
       Required. Maximum allowed span of any interval of time in the route that
       does not include at least partially a break of `duration >=
       min_break_duration`. Must be positive.
       
      .google.protobuf.Duration max_inter_break_duration = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getMaxInterBreakDurationOrBuilder in interface BreakRule.FrequencyConstraintOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • 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.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • 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 BreakRule.FrequencyConstraint parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static BreakRule.FrequencyConstraint parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static BreakRule.FrequencyConstraint parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static BreakRule.FrequencyConstraint parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static BreakRule.FrequencyConstraint parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static BreakRule.FrequencyConstraint parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      public BreakRule.FrequencyConstraint.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static BreakRule.FrequencyConstraint.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected BreakRule.FrequencyConstraint.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static BreakRule.FrequencyConstraint getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<BreakRule.FrequencyConstraint> 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.GeneratedMessage
    • getDefaultInstanceForType

      public BreakRule.FrequencyConstraint getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder