// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/api/field_behavior.proto
// Protobuf Java Version: 3.25.3
package com.google.api;
/**
*
* 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 {@code google.api.FieldBehavior}
*/
public enum FieldBehavior
implements com.google.protobuf.ProtocolMessageEnum {
/**
*
* Conventional default for enums. Do not use this.
*
*
* FIELD_BEHAVIOR_UNSPECIFIED = 0;
*/
FIELD_BEHAVIOR_UNSPECIFIED(0),
/**
*
* Specifically denotes a field as optional.
* While all fields in protocol buffers are optional, this may be specified
* for emphasis if appropriate.
*
*
* OPTIONAL = 1;
*/
OPTIONAL(1),
/**
*
* 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;
*/
REQUIRED(2),
/**
*
* 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;
*/
OUTPUT_ONLY(3),
/**
*
* 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;
*/
INPUT_ONLY(4),
/**
*
* 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;
*/
IMMUTABLE(5),
/**
*
* 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;
*/
UNORDERED_LIST(6),
UNRECOGNIZED(-1),
;
/**
*
* Conventional default for enums. Do not use this.
*
*
* FIELD_BEHAVIOR_UNSPECIFIED = 0;
*/
public static final int FIELD_BEHAVIOR_UNSPECIFIED_VALUE = 0;
/**
*
* Specifically denotes a field as optional.
* While all fields in protocol buffers are optional, this may be specified
* for emphasis if appropriate.
*
*
* OPTIONAL = 1;
*/
public static final int OPTIONAL_VALUE = 1;
/**
*
* 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;
*/
public static final int REQUIRED_VALUE = 2;
/**
*
* 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;
*/
public static final int OUTPUT_ONLY_VALUE = 3;
/**
*
* 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;
*/
public static final int INPUT_ONLY_VALUE = 4;
/**
*
* 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;
*/
public static final int IMMUTABLE_VALUE = 5;
/**
*
* 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;
*/
public static final int UNORDERED_LIST_VALUE = 6;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static FieldBehavior valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static FieldBehavior forNumber(int value) {
switch (value) {
case 0: return FIELD_BEHAVIOR_UNSPECIFIED;
case 1: return OPTIONAL;
case 2: return REQUIRED;
case 3: return OUTPUT_ONLY;
case 4: return INPUT_ONLY;
case 5: return IMMUTABLE;
case 6: return UNORDERED_LIST;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
FieldBehavior> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public FieldBehavior findValueByNumber(int number) {
return FieldBehavior.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor() {
return com.google.api.FieldBehaviorProto.getDescriptor().getEnumTypes().get(0);
}
private static final FieldBehavior[] VALUES = values();
public static FieldBehavior valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private FieldBehavior(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:google.api.FieldBehavior)
}