Package com.google.cloud.optimization.v1
Class BreakRule.FrequencyConstraint
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessageV3
-
- 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.GeneratedMessageV3 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 typegoogle.cloud.optimization.v1.BreakRule.FrequencyConstraint
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BreakRule.FrequencyConstraint.Builder
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".-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_INTER_BREAK_DURATION_FIELD_NUMBER
static int
MIN_BREAK_DURATION_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
static BreakRule.FrequencyConstraint
getDefaultInstance()
BreakRule.FrequencyConstraint
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
com.google.protobuf.Duration
getMaxInterBreakDuration()
Required.com.google.protobuf.DurationOrBuilder
getMaxInterBreakDurationOrBuilder()
Required.com.google.protobuf.Duration
getMinBreakDuration()
Required.com.google.protobuf.DurationOrBuilder
getMinBreakDurationOrBuilder()
Required.com.google.protobuf.Parser<BreakRule.FrequencyConstraint>
getParserForType()
int
getSerializedSize()
int
hashCode()
boolean
hasMaxInterBreakDuration()
Required.boolean
hasMinBreakDuration()
Required.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
static BreakRule.FrequencyConstraint.Builder
newBuilder()
static BreakRule.FrequencyConstraint.Builder
newBuilder(BreakRule.FrequencyConstraint prototype)
BreakRule.FrequencyConstraint.Builder
newBuilderForType()
protected BreakRule.FrequencyConstraint.Builder
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
protected Object
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
static BreakRule.FrequencyConstraint
parseDelimitedFrom(InputStream input)
static BreakRule.FrequencyConstraint
parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static BreakRule.FrequencyConstraint
parseFrom(byte[] data)
static BreakRule.FrequencyConstraint
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static BreakRule.FrequencyConstraint
parseFrom(com.google.protobuf.ByteString data)
static BreakRule.FrequencyConstraint
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static BreakRule.FrequencyConstraint
parseFrom(com.google.protobuf.CodedInputStream input)
static BreakRule.FrequencyConstraint
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static BreakRule.FrequencyConstraint
parseFrom(InputStream input)
static BreakRule.FrequencyConstraint
parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static BreakRule.FrequencyConstraint
parseFrom(ByteBuffer data)
static BreakRule.FrequencyConstraint
parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<BreakRule.FrequencyConstraint>
parser()
BreakRule.FrequencyConstraint.Builder
toBuilder()
void
writeTo(com.google.protobuf.CodedOutputStream output)
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
MIN_BREAK_DURATION_FIELD_NUMBER
public static final int MIN_BREAK_DURATION_FIELD_NUMBER
- See Also:
- Constant Field Values
-
MAX_INTER_BREAK_DURATION_FIELD_NUMBER
public static final int MAX_INTER_BREAK_DURATION_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstance
in classcom.google.protobuf.GeneratedMessageV3
-
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
-
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 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:
getMinBreakDuration
in interfaceBreakRule.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 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:
hasMaxInterBreakDuration
in 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:
getMaxInterBreakDuration
in interfaceBreakRule.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 interfaceBreakRule.FrequencyConstraintOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessageV3
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(Object obj)
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.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 interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static BreakRule.FrequencyConstraint.Builder newBuilder()
-
newBuilder
public static BreakRule.FrequencyConstraint.Builder newBuilder(BreakRule.FrequencyConstraint prototype)
-
toBuilder
public BreakRule.FrequencyConstraint.Builder toBuilder()
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected BreakRule.FrequencyConstraint.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForType
in classcom.google.protobuf.GeneratedMessageV3
-
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 interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public BreakRule.FrequencyConstraint getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-