Class IntegerVariableProto.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<IntegerVariableProto.Builder>
com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder>
com.google.ortools.sat.IntegerVariableProto.Builder
All Implemented Interfaces:
IntegerVariableProtoOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
IntegerVariableProto

public static final class IntegerVariableProto.Builder extends com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder> implements IntegerVariableProtoOrBuilder
 An integer variable.

 It will be referred to by an int32 corresponding to its index in a
 CpModelProto variables field.

 Depending on the context, a reference to a variable whose domain is in [0, 1]
 can also be seen as a Boolean that will be true if the variable value is 1
 and false if it is 0. When used in this context, the field name will always
 contain the word "literal".

 Negative reference (advanced usage): to simplify the creation of a model and
 for efficiency reasons, all the "literal" or "variable" fields can also
 contain a negative index. A negative index i will refer to the negation of
 the integer variable at index -i -1 or to NOT the literal at the same index.

 Ex: A variable index 4 will refer to the integer variable model.variables(4)
 and an index of -5 will refer to the negation of the same variable. A literal
 index 4 will refer to the logical fact that model.variable(4) == 1 and a
 literal index of -5 will refer to the logical fact model.variable(4) == 0.
 
Protobuf type operations_research.sat.IntegerVariableProto
  • Method Summary

    Modifier and Type
    Method
    Description
    addAllDomain(Iterable<? extends Long> values)
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    addDomain(long value)
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
     
     
     
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    For debug/logging only.
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    long
    getDomain(int index)
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    int
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    For debug/logging only.
    com.google.protobuf.ByteString
    For debug/logging only.
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
    setDomain(int index, long value)
    The variable domain given as a sorted list of n disjoint intervals [min, max] and encoded as [min_0, max_0, ..., min_{n-1}, max_{n-1}].
    setName(String value)
    For debug/logging only.
    setNameBytes(com.google.protobuf.ByteString value)
    For debug/logging only.

    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, 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

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods 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:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder>
    • getDefaultInstanceForType

      public IntegerVariableProto getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public IntegerVariableProto build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public IntegerVariableProto buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public IntegerVariableProto.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<IntegerVariableProto.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<IntegerVariableProto.Builder>
    • mergeFrom

      public IntegerVariableProto.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<IntegerVariableProto.Builder>
      Throws:
      IOException
    • getName

      public String getName()
       For debug/logging only. Can be empty.
       
      string name = 1;
      Specified by:
      getName in interface IntegerVariableProtoOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       For debug/logging only. Can be empty.
       
      string name = 1;
      Specified by:
      getNameBytes in interface IntegerVariableProtoOrBuilder
      Returns:
      The bytes for name.
    • setName

      public IntegerVariableProto.Builder setName(String value)
       For debug/logging only. Can be empty.
       
      string name = 1;
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      public IntegerVariableProto.Builder clearName()
       For debug/logging only. Can be empty.
       
      string name = 1;
      Returns:
      This builder for chaining.
    • setNameBytes

      public IntegerVariableProto.Builder setNameBytes(com.google.protobuf.ByteString value)
       For debug/logging only. Can be empty.
       
      string name = 1;
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getDomainList

      public List<Long> getDomainList()
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Specified by:
      getDomainList in interface IntegerVariableProtoOrBuilder
      Returns:
      A list containing the domain.
    • getDomainCount

      public int getDomainCount()
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Specified by:
      getDomainCount in interface IntegerVariableProtoOrBuilder
      Returns:
      The count of domain.
    • getDomain

      public long getDomain(int index)
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Specified by:
      getDomain in interface IntegerVariableProtoOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The domain at the given index.
    • setDomain

      public IntegerVariableProto.Builder setDomain(int index, long value)
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Parameters:
      index - The index to set the value at.
      value - The domain to set.
      Returns:
      This builder for chaining.
    • addDomain

      public IntegerVariableProto.Builder addDomain(long value)
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Parameters:
      value - The domain to add.
      Returns:
      This builder for chaining.
    • addAllDomain

      public IntegerVariableProto.Builder addAllDomain(Iterable<? extends Long> values)
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Parameters:
      values - The domain to add.
      Returns:
      This builder for chaining.
    • clearDomain

      public IntegerVariableProto.Builder clearDomain()
       The variable domain given as a sorted list of n disjoint intervals
       [min, max] and encoded as [min_0, max_0,  ..., min_{n-1}, max_{n-1}].
      
       The most common example being just [min, max].
       If min == max, then this is a constant variable.
      
       We have:
       - domain_size() is always even.
       - min == domain.front();
       - max == domain.back();
       - for all i < n   :      min_i <= max_i
       - for all i < n-1 :  max_i + 1 < min_{i+1}.
      
       Note that we check at validation that a variable domain is small enough so
       that we don't run into integer overflow in our algorithms. Because of that,
       you cannot just have "unbounded" variable like [0, kint64max] and should
       try to specify tighter domains.
       
      repeated int64 domain = 2;
      Returns:
      This builder for chaining.