Package com.google.cloud.optimization.v1
Class ShipmentModel.BreakRule.FrequencyConstraint.Builder
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite.Builder
-
- com.google.protobuf.AbstractMessage.Builder<BuilderT>
-
- com.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
- com.google.cloud.optimization.v1.ShipmentModel.BreakRule.FrequencyConstraint.Builder
-
- All Implemented Interfaces:
ShipmentModel.BreakRule.FrequencyConstraintOrBuilder,com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Cloneable
- Enclosing class:
- ShipmentModel.BreakRule.FrequencyConstraint
public static final class ShipmentModel.BreakRule.FrequencyConstraint.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder> implements ShipmentModel.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 typegoogle.cloud.optimization.v1.ShipmentModel.BreakRule.FrequencyConstraint
-
-
Method Summary
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3
-
Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clear
public ShipmentModel.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.GeneratedMessageV3.Builder<ShipmentModel.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.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
getDefaultInstanceForType
public ShipmentModel.BreakRule.FrequencyConstraint getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
public ShipmentModel.BreakRule.FrequencyConstraint build()
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public ShipmentModel.BreakRule.FrequencyConstraint buildPartial()
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clone()
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
setField
public ShipmentModel.BreakRule.FrequencyConstraint.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clearField
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clearOneof
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
setRepeatedField
public ShipmentModel.BreakRule.FrequencyConstraint.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
- Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
addRepeatedField
public ShipmentModel.BreakRule.FrequencyConstraint.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
- Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
public ShipmentModel.BreakRule.FrequencyConstraint.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
public ShipmentModel.BreakRule.FrequencyConstraint.Builder mergeFrom(ShipmentModel.BreakRule.FrequencyConstraint other)
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
public ShipmentModel.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<ShipmentModel.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 interfaceShipmentModel.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:
getMinBreakDurationin interfaceShipmentModel.BreakRule.FrequencyConstraintOrBuilder- Returns:
- The minBreakDuration.
-
setMinBreakDuration
public ShipmentModel.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 ShipmentModel.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 ShipmentModel.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
public ShipmentModel.BreakRule.FrequencyConstraint.Builder 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 interfaceShipmentModel.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:
hasMaxInterBreakDurationin interfaceShipmentModel.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:
getMaxInterBreakDurationin interfaceShipmentModel.BreakRule.FrequencyConstraintOrBuilder- Returns:
- The maxInterBreakDuration.
-
setMaxInterBreakDuration
public ShipmentModel.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 ShipmentModel.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 ShipmentModel.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
public ShipmentModel.BreakRule.FrequencyConstraint.Builder 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 interfaceShipmentModel.BreakRule.FrequencyConstraintOrBuilder
-
setUnknownFields
public final ShipmentModel.BreakRule.FrequencyConstraint.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeUnknownFields
public final ShipmentModel.BreakRule.FrequencyConstraint.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
-