Class Decimal

java.lang.Object
com.google.protobuf.AbstractMessageLite<MessageType,BuilderType>
com.google.protobuf.GeneratedMessageLite<Decimal,Decimal.Builder>
com.google.type.Decimal
All Implemented Interfaces:
com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, DecimalOrBuilder

public final class Decimal extends com.google.protobuf.GeneratedMessageLite<Decimal,Decimal.Builder> implements DecimalOrBuilder
 A representation of a decimal value, such as 2.5. Clients may convert values
 into language-native decimal formats, such as Java's [BigDecimal][] or
 Python's [decimal.Decimal][].

 [BigDecimal]:
 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html
 [decimal.Decimal]: https://docs.python.org/3/library/decimal.html
 
Protobuf type google.type.Decimal
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    A representation of a decimal value, such as 2.5.

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageLite

    com.google.protobuf.GeneratedMessageLite.DefaultInstanceBasedParser<T extends com.google.protobuf.GeneratedMessageLite<T,?>>, com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.GeneratedExtension<ContainingType extends com.google.protobuf.MessageLite,Type extends Object>, com.google.protobuf.GeneratedMessageLite.MethodToInvoke, com.google.protobuf.GeneratedMessageLite.SerializedForm

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessageLite

    unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final Object
    dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1)
     
    static Decimal
     
    The decimal value, as a string.
    com.google.protobuf.ByteString
    The decimal value, as a string.
     
    newBuilder(Decimal prototype)
     
    static Decimal
     
    static Decimal
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Decimal
    parseFrom(byte[] data)
     
    static Decimal
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Decimal
    parseFrom(com.google.protobuf.ByteString data)
     
    static Decimal
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Decimal
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    static Decimal
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Decimal
     
    static Decimal
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Decimal
     
    static Decimal
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<Decimal>
     

    Methods inherited from class com.google.protobuf.GeneratedMessageLite

    createBuilder, createBuilder, dynamicMethod, dynamicMethod, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, emptyProtobufList, equals, getDefaultInstanceForType, getParserForType, getSerializedSize, hashCode, isInitialized, isInitialized, makeImmutable, mergeLengthDelimitedField, mergeUnknownFields, mergeVarintField, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType, newMessageInfo, newRepeatedGeneratedExtension, newSingularGeneratedExtension, parseDelimitedFrom, parseDelimitedFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parsePartialFrom, parseUnknownField, registerDefaultInstance, toBuilder, toString, writeTo

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Field Details

  • Method Details

    • getValue

      public String getValue()
       The decimal value, as a string.
      
       The string representation consists of an optional sign, `+` (`U+002B`)
       or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
       ("the integer"), optionally followed by a fraction, optionally followed
       by an exponent.
      
       The fraction consists of a decimal point followed by zero or more decimal
       digits. The string must contain at least one digit in either the integer
       or the fraction. The number formed by the sign, the integer and the
       fraction is referred to as the significand.
      
       The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
       followed by one or more decimal digits.
      
       Services **should** normalize decimal values before storing them by:
      
       - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
       - Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
       - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
       - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
      
       Services **may** perform additional normalization based on its own needs
       and the internal decimal implementation selected, such as shifting the
       decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
       Additionally, services **may** preserve trailing zeroes in the fraction
       to indicate increased precision, but are not required to do so.
      
       Note that only the `.` character is supported to divide the integer
       and the fraction; `,` **should not** be supported regardless of locale.
       Additionally, thousand separators **should not** be supported. If a
       service does support them, values **must** be normalized.
      
       The ENBF grammar is:
      
       DecimalString =
       [Sign] Significand [Exponent];
      
       Sign = '+' | '-';
      
       Significand =
       Digits ['.'] [Digits] | [Digits] '.' Digits;
      
       Exponent = ('e' | 'E') [Sign] Digits;
      
       Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
      
       Services **should** clearly document the range of supported values, the
       maximum supported precision (total number of digits), and, if applicable,
       the scale (number of digits after the decimal point), as well as how it
       behaves when receiving out-of-bounds values.
      
       Services **may** choose to accept values passed as input even when the
       value has a higher precision or scale than the service supports, and
       **should** round the value to fit the supported scale. Alternatively, the
       service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
       if precision would be lost.
      
       Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
       gRPC) if the service receives a value outside of the supported range.
       
      string value = 1 [json_name = "value"];
      Specified by:
      getValue in interface DecimalOrBuilder
      Returns:
      The value.
    • getValueBytes

      public com.google.protobuf.ByteString getValueBytes()
       The decimal value, as a string.
      
       The string representation consists of an optional sign, `+` (`U+002B`)
       or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
       ("the integer"), optionally followed by a fraction, optionally followed
       by an exponent.
      
       The fraction consists of a decimal point followed by zero or more decimal
       digits. The string must contain at least one digit in either the integer
       or the fraction. The number formed by the sign, the integer and the
       fraction is referred to as the significand.
      
       The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
       followed by one or more decimal digits.
      
       Services **should** normalize decimal values before storing them by:
      
       - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
       - Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
       - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
       - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
      
       Services **may** perform additional normalization based on its own needs
       and the internal decimal implementation selected, such as shifting the
       decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
       Additionally, services **may** preserve trailing zeroes in the fraction
       to indicate increased precision, but are not required to do so.
      
       Note that only the `.` character is supported to divide the integer
       and the fraction; `,` **should not** be supported regardless of locale.
       Additionally, thousand separators **should not** be supported. If a
       service does support them, values **must** be normalized.
      
       The ENBF grammar is:
      
       DecimalString =
       [Sign] Significand [Exponent];
      
       Sign = '+' | '-';
      
       Significand =
       Digits ['.'] [Digits] | [Digits] '.' Digits;
      
       Exponent = ('e' | 'E') [Sign] Digits;
      
       Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
      
       Services **should** clearly document the range of supported values, the
       maximum supported precision (total number of digits), and, if applicable,
       the scale (number of digits after the decimal point), as well as how it
       behaves when receiving out-of-bounds values.
      
       Services **may** choose to accept values passed as input even when the
       value has a higher precision or scale than the service supports, and
       **should** round the value to fit the supported scale. Alternatively, the
       service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
       if precision would be lost.
      
       Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
       gRPC) if the service receives a value outside of the supported range.
       
      string value = 1 [json_name = "value"];
      Specified by:
      getValueBytes in interface DecimalOrBuilder
      Returns:
      The bytes for value.
    • parseFrom

      public static Decimal parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Decimal parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Decimal parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Decimal parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Decimal parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Decimal parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Decimal parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilder

      public static Decimal.Builder newBuilder()
    • newBuilder

      public static Decimal.Builder newBuilder(Decimal prototype)
    • dynamicMethod

      protected final Object dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1)
      Specified by:
      dynamicMethod in class com.google.protobuf.GeneratedMessageLite<Decimal,Decimal.Builder>
    • getDefaultInstance

      public static Decimal getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Decimal> parser()