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:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clear
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clear()
- Specified by:
clear
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clear
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clear
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.Message.Builder
- Specified by:
getDescriptorForType
in interfacecom.google.protobuf.MessageOrBuilder
- Overrides:
getDescriptorForType
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
getDefaultInstanceForType
public ShipmentModel.BreakRule.FrequencyConstraint getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
build
public ShipmentModel.BreakRule.FrequencyConstraint build()
- Specified by:
build
in interfacecom.google.protobuf.Message.Builder
- Specified by:
build
in interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
public ShipmentModel.BreakRule.FrequencyConstraint buildPartial()
- Specified by:
buildPartial
in interfacecom.google.protobuf.Message.Builder
- Specified by:
buildPartial
in interfacecom.google.protobuf.MessageLite.Builder
-
clone
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clone()
- Specified by:
clone
in interfacecom.google.protobuf.Message.Builder
- Specified by:
clone
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
clone
in 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:
setField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setField
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clearField
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
- Specified by:
clearField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
clearField
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
clearOneof
public ShipmentModel.BreakRule.FrequencyConstraint.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
- Specified by:
clearOneof
in interfacecom.google.protobuf.Message.Builder
- Overrides:
clearOneof
in 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:
setRepeatedField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setRepeatedField
in 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:
addRepeatedField
in interfacecom.google.protobuf.Message.Builder
- Overrides:
addRepeatedField
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeFrom
public ShipmentModel.BreakRule.FrequencyConstraint.Builder mergeFrom(com.google.protobuf.Message other)
- Specified by:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeFrom
in 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:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in 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:
mergeFrom
in interfacecom.google.protobuf.Message.Builder
- Specified by:
mergeFrom
in interfacecom.google.protobuf.MessageLite.Builder
- Overrides:
mergeFrom
in 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:
hasMinBreakDuration
in 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:
getMinBreakDuration
in 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:
getMinBreakDurationOrBuilder
in 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:
hasMaxInterBreakDuration
in 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:
getMaxInterBreakDuration
in 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:
getMaxInterBreakDurationOrBuilder
in interfaceShipmentModel.BreakRule.FrequencyConstraintOrBuilder
-
setUnknownFields
public final ShipmentModel.BreakRule.FrequencyConstraint.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
setUnknownFields
in interfacecom.google.protobuf.Message.Builder
- Overrides:
setUnknownFields
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
mergeUnknownFields
public final ShipmentModel.BreakRule.FrequencyConstraint.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
- Specified by:
mergeUnknownFields
in interfacecom.google.protobuf.Message.Builder
- Overrides:
mergeUnknownFields
in classcom.google.protobuf.GeneratedMessageV3.Builder<ShipmentModel.BreakRule.FrequencyConstraint.Builder>
-
-