Package com.google.cloud.optimization.v1
Class BreakRule.FrequencyConstraint.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
com.google.cloud.optimization.v1.BreakRule.FrequencyConstraint.Builder
- All Implemented Interfaces:
BreakRule.FrequencyConstraintOrBuilder,com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Cloneable
- Enclosing class:
- BreakRule.FrequencyConstraint
public static final class BreakRule.FrequencyConstraint.Builder
extends com.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
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-
Method Summary
Modifier and TypeMethodDescriptionbuild()clear()Required.Required.static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.Descriptorcom.google.protobuf.DurationRequired.com.google.protobuf.Duration.BuilderRequired.com.google.protobuf.DurationOrBuilderRequired.com.google.protobuf.DurationRequired.com.google.protobuf.Duration.BuilderRequired.com.google.protobuf.DurationOrBuilderRequired.booleanRequired.booleanRequired.protected com.google.protobuf.GeneratedMessage.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeMaxInterBreakDuration(com.google.protobuf.Duration value) Required.mergeMinBreakDuration(com.google.protobuf.Duration value) Required.setMaxInterBreakDuration(com.google.protobuf.Duration value) Required.setMaxInterBreakDuration(com.google.protobuf.Duration.Builder builderForValue) Required.setMinBreakDuration(com.google.protobuf.Duration value) Required.setMinBreakDuration(com.google.protobuf.Duration.Builder builderForValue) Required.Methods inherited from class com.google.protobuf.GeneratedMessage.Builder
addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage.Builder<BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
public BreakRule.FrequencyConstraint.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<BreakRule.FrequencyConstraint.Builder>- Throws:
IOException
-
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:
hasMinBreakDurationin interfaceBreakRule.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:
getMinBreakDurationin interfaceBreakRule.FrequencyConstraintOrBuilder- Returns:
- The minBreakDuration.
-
setMinBreakDuration
public BreakRule.FrequencyConstraint.Builder setMinBreakDuration(com.google.protobuf.Duration value) Required. Minimum break duration for this constraint. Nonnegative. See description of `FrequencyConstraint`.
.google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED]; -
setMinBreakDuration
public BreakRule.FrequencyConstraint.Builder setMinBreakDuration(com.google.protobuf.Duration.Builder builderForValue) Required. Minimum break duration for this constraint. Nonnegative. See description of `FrequencyConstraint`.
.google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED]; -
mergeMinBreakDuration
public BreakRule.FrequencyConstraint.Builder mergeMinBreakDuration(com.google.protobuf.Duration value) Required. Minimum break duration for this constraint. Nonnegative. See description of `FrequencyConstraint`.
.google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED]; -
clearMinBreakDuration
Required. Minimum break duration for this constraint. Nonnegative. See description of `FrequencyConstraint`.
.google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED]; -
getMinBreakDurationBuilder
public com.google.protobuf.Duration.Builder getMinBreakDurationBuilder()Required. Minimum break duration for this constraint. Nonnegative. See description of `FrequencyConstraint`.
.google.protobuf.Duration min_break_duration = 1 [(.google.api.field_behavior) = REQUIRED]; -
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:
getMinBreakDurationOrBuilderin interfaceBreakRule.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:
hasMaxInterBreakDurationin interfaceBreakRule.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:
getMaxInterBreakDurationin interfaceBreakRule.FrequencyConstraintOrBuilder- Returns:
- The maxInterBreakDuration.
-
setMaxInterBreakDuration
public BreakRule.FrequencyConstraint.Builder setMaxInterBreakDuration(com.google.protobuf.Duration value) 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]; -
setMaxInterBreakDuration
public BreakRule.FrequencyConstraint.Builder setMaxInterBreakDuration(com.google.protobuf.Duration.Builder builderForValue) 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]; -
mergeMaxInterBreakDuration
public BreakRule.FrequencyConstraint.Builder mergeMaxInterBreakDuration(com.google.protobuf.Duration value) 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]; -
clearMaxInterBreakDuration
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]; -
getMaxInterBreakDurationBuilder
public com.google.protobuf.Duration.Builder getMaxInterBreakDurationBuilder()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]; -
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:
getMaxInterBreakDurationOrBuilderin interfaceBreakRule.FrequencyConstraintOrBuilder
-