Class Generated.Quantity.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable, Generated.QuantityOrBuilder
    Enclosing class:
    Generated.Quantity

    public static final class Generated.Quantity.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
    implements Generated.QuantityOrBuilder
     Quantity is a fixed-point representation of a number.
     It provides convenient marshaling/unmarshaling in JSON and YAML,
     in addition to String() and AsInt64() accessors.
    
     The serialization format is:
    
     ```
     <quantity>        ::= <signedNumber><suffix>
    
            (Note that <suffix> may be empty, from the "" case in <decimalSI>.)
    
     <digit>           ::= 0 | 1 | ... | 9
     <digits>          ::= <digit> | <digit><digits>
     <number>          ::= <digits> | <digits>.<digits> | <digits>. | .<digits>
     <sign>            ::= "+" | "-"
     <signedNumber>    ::= <number> | <sign><number>
     <suffix>          ::= <binarySI> | <decimalExponent> | <decimalSI>
     <binarySI>        ::= Ki | Mi | Gi | Ti | Pi | Ei
    
            (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)
    
     <decimalSI>       ::= m | "" | k | M | G | T | P | E
    
            (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)
    
     <decimalExponent> ::= "e" <signedNumber> | "E" <signedNumber>
     ```
    
     No matter which of the three exponent forms is used, no quantity may represent
     a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal
     places. Numbers larger or more precise will be capped or rounded up.
     (E.g.: 0.1m will rounded up to 1m.)
     This may be extended in the future if we require larger or smaller quantities.
    
     When a Quantity is parsed from a string, it will remember the type of suffix
     it had, and will use the same type again when it is serialized.
    
     Before serializing, Quantity will be put in "canonical form".
     This means that Exponent/suffix will be adjusted up or down (with a
     corresponding increase or decrease in Mantissa) such that:
    
     - No precision is lost
     - No fractional digits will be emitted
     - The exponent (or suffix) is as large as possible.
    
     The sign will be omitted unless the number is negative.
    
     Examples:
    
     - 1.5 will be serialized as "1500m"
     - 1.5Gi will be serialized as "1536Mi"
    
     Note that the quantity will NEVER be internally represented by a
     floating point number. That is the whole point of this exercise.
    
     Non-canonical values will still parse as long as they are well formed,
     but will be re-emitted in their canonical form. (So always use canonical
     form, or don't diff.)
    
     This format is intended to make it difficult to use these numbers without
     writing some sort of special handling code in the hopes that that will
     cause implementors to also use a fixed point implementation.
    
     +protobuf=true
     +protobuf.embed=string
     +protobuf.options.marshal=false
     +protobuf.options.(gogoproto.goproto_stringer)=false
     +k8s:deepcopy-gen=true
     +k8s:openapi-gen=true
     
    Protobuf type k8s.io.apimachinery.pkg.api.resource.Quantity
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • clear

        public Generated.Quantity.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.GeneratedMessageV3.Builder<Generated.Quantity.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.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • getDefaultInstanceForType

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

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

        public Generated.Quantity buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public Generated.Quantity.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • setField

        public Generated.Quantity.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                   Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • clearField

        public Generated.Quantity.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • clearOneof

        public Generated.Quantity.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • setRepeatedField

        public Generated.Quantity.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                           int index,
                                                           Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • addRepeatedField

        public Generated.Quantity.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                           Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • mergeFrom

        public Generated.Quantity.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<Generated.Quantity.Builder>
      • isInitialized

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

        public Generated.Quantity.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<Generated.Quantity.Builder>
        Throws:
        IOException
      • setString

        public Generated.Quantity.Builder setString​(String value)
        optional string string = 1;
        Parameters:
        value - The string to set.
        Returns:
        This builder for chaining.
      • setStringBytes

        public Generated.Quantity.Builder setStringBytes​(com.google.protobuf.ByteString value)
        optional string string = 1;
        Parameters:
        value - The bytes for string to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final Generated.Quantity.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>
      • mergeUnknownFields

        public final Generated.Quantity.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Generated.Quantity.Builder>