Enum FieldBehavior

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, java.io.Serializable, java.lang.Comparable<FieldBehavior>

    public enum FieldBehavior
    extends java.lang.Enum<FieldBehavior>
    implements com.google.protobuf.ProtocolMessageEnum
     An indicator of the behavior of a given field (for example, that a field
     is required in requests, or given as output but ignored as input).
     This **does not** change the behavior in protocol buffers itself; it only
     denotes the behavior and may affect how API tooling handles the field.
    
     Note: This enum **may** receive new values in the future.
     
    Protobuf enum google.api.FieldBehavior
    • Enum Constant Detail

      • FIELD_BEHAVIOR_UNSPECIFIED

        public static final FieldBehavior FIELD_BEHAVIOR_UNSPECIFIED
         Conventional default for enums. Do not use this.
         
        FIELD_BEHAVIOR_UNSPECIFIED = 0;
      • OPTIONAL

        public static final FieldBehavior OPTIONAL
         Specifically denotes a field as optional.
         While all fields in protocol buffers are optional, this may be specified
         for emphasis if appropriate.
         
        OPTIONAL = 1;
      • REQUIRED

        public static final FieldBehavior REQUIRED
         Denotes a field as required.
         This indicates that the field **must** be provided as part of the request,
         and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
         
        REQUIRED = 2;
      • OUTPUT_ONLY

        public static final FieldBehavior OUTPUT_ONLY
         Denotes a field as output only.
         This indicates that the field is provided in responses, but including the
         field in a request does nothing (the server *must* ignore it and
         *must not* throw an error as a result of the field's presence).
         
        OUTPUT_ONLY = 3;
      • INPUT_ONLY

        public static final FieldBehavior INPUT_ONLY
         Denotes a field as input only.
         This indicates that the field is provided in requests, and the
         corresponding field is not included in output.
         
        INPUT_ONLY = 4;
      • IMMUTABLE

        public static final FieldBehavior IMMUTABLE
         Denotes a field as immutable.
         This indicates that the field may be set once in a request to create a
         resource, but may not be changed thereafter.
         
        IMMUTABLE = 5;
      • UNORDERED_LIST

        public static final FieldBehavior UNORDERED_LIST
         Denotes that a (repeated) field is an unordered list.
         This indicates that the service may provide the elements of the list
         in any arbitrary  order, rather than the order the user originally
         provided. Additionally, the list's order may or may not be stable.
         
        UNORDERED_LIST = 6;
      • NON_EMPTY_DEFAULT

        public static final FieldBehavior NON_EMPTY_DEFAULT
         Denotes that this field returns a non-empty default value if not set.
         This indicates that if the user provides the empty value in a request,
         a non-empty value will be returned. The user will not be aware of what
         non-empty value to expect.
         
        NON_EMPTY_DEFAULT = 7;
      • IDENTIFIER

        public static final FieldBehavior IDENTIFIER
         Denotes that the field in a resource (a message annotated with
         google.api.resource) is used in the resource name to uniquely identify the
         resource. For AIP-compliant APIs, this should only be applied to the
         `name` field on the resource.
        
         This behavior should not be applied to references to other resources within
         the message.
        
         The identifier field of resources often have different field behavior
         depending on the request it is embedded in (e.g. for Create methods name
         is optional and unused, while for Update methods it is required). Instead
         of method-specific annotations, only `IDENTIFIER` is required.
         
        IDENTIFIER = 8;
    • Field Detail

      • FIELD_BEHAVIOR_UNSPECIFIED_VALUE

        public static final int FIELD_BEHAVIOR_UNSPECIFIED_VALUE
         Conventional default for enums. Do not use this.
         
        FIELD_BEHAVIOR_UNSPECIFIED = 0;
        See Also:
        Constant Field Values
      • OPTIONAL_VALUE

        public static final int OPTIONAL_VALUE
         Specifically denotes a field as optional.
         While all fields in protocol buffers are optional, this may be specified
         for emphasis if appropriate.
         
        OPTIONAL = 1;
        See Also:
        Constant Field Values
      • REQUIRED_VALUE

        public static final int REQUIRED_VALUE
         Denotes a field as required.
         This indicates that the field **must** be provided as part of the request,
         and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
         
        REQUIRED = 2;
        See Also:
        Constant Field Values
      • OUTPUT_ONLY_VALUE

        public static final int OUTPUT_ONLY_VALUE
         Denotes a field as output only.
         This indicates that the field is provided in responses, but including the
         field in a request does nothing (the server *must* ignore it and
         *must not* throw an error as a result of the field's presence).
         
        OUTPUT_ONLY = 3;
        See Also:
        Constant Field Values
      • INPUT_ONLY_VALUE

        public static final int INPUT_ONLY_VALUE
         Denotes a field as input only.
         This indicates that the field is provided in requests, and the
         corresponding field is not included in output.
         
        INPUT_ONLY = 4;
        See Also:
        Constant Field Values
      • IMMUTABLE_VALUE

        public static final int IMMUTABLE_VALUE
         Denotes a field as immutable.
         This indicates that the field may be set once in a request to create a
         resource, but may not be changed thereafter.
         
        IMMUTABLE = 5;
        See Also:
        Constant Field Values
      • UNORDERED_LIST_VALUE

        public static final int UNORDERED_LIST_VALUE
         Denotes that a (repeated) field is an unordered list.
         This indicates that the service may provide the elements of the list
         in any arbitrary  order, rather than the order the user originally
         provided. Additionally, the list's order may or may not be stable.
         
        UNORDERED_LIST = 6;
        See Also:
        Constant Field Values
      • NON_EMPTY_DEFAULT_VALUE

        public static final int NON_EMPTY_DEFAULT_VALUE
         Denotes that this field returns a non-empty default value if not set.
         This indicates that if the user provides the empty value in a request,
         a non-empty value will be returned. The user will not be aware of what
         non-empty value to expect.
         
        NON_EMPTY_DEFAULT = 7;
        See Also:
        Constant Field Values
      • IDENTIFIER_VALUE

        public static final int IDENTIFIER_VALUE
         Denotes that the field in a resource (a message annotated with
         google.api.resource) is used in the resource name to uniquely identify the
         resource. For AIP-compliant APIs, this should only be applied to the
         `name` field on the resource.
        
         This behavior should not be applied to references to other resources within
         the message.
        
         The identifier field of resources often have different field behavior
         depending on the request it is embedded in (e.g. for Create methods name
         is optional and unused, while for Update methods it is required). Instead
         of method-specific annotations, only `IDENTIFIER` is required.
         
        IDENTIFIER = 8;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static FieldBehavior[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (FieldBehavior c : FieldBehavior.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static FieldBehavior valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static FieldBehavior valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • forNumber

        public static FieldBehavior forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<FieldBehavior> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static FieldBehavior valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null