A classe Field
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Field é a classe de base de todos os campos definidos em mensagens. Ela não pode ser estendida por desenvolvedores.
Field
é fornecido pelo módulo protorpc.messages
.
Construtor
O construtor da classe Field é definido assim:
- class
Field
(message_type,
number,
[required=False | repeated=False],
variant=None,
default=None)
-
Inicializa uma instância de Field. Cada subclasse de Field precisa definir o seguinte:
VARIANTS
- Conjunto de tipos de variante aceitos por esse campo.
DEFAULT_VARIANT
- Tipo de variante padrão, se não especificado no construtor.
Argumentos
- number
- Número do campo. Precisa ser exclusivo por classe de mensagem.
- required=False
- Se o campo é obrigatório ou não. Mutuamente exclusivo com o argumento
repeated
. Não especifique repeated
se usar required
.
- repeated=False
- Se o campo é repetido ou não. Mutuamente exclusivo com o argumento
required
. Não especifique required=True
se usar repeated=True
.
- variant=None
- Fornece informações de codificação adicionais usadas principalmente por buffers de protocolo. Essas variantes mapeiam para os valores de Tipo em
descriptor.proto
. A prática recomendada é usar valores padrão, mas é possível especificar valores como 32 bits, 64 bits, não assinados etc.
- default=None
- Valor padrão do campo, se não encontrado na solicitação subjacente.
Observação: os valores padrão não são permitidos para campos repetidos ou de mensagem.
Gera as seguintes exceções:
Propriedade da classe
A classe FieldList tem uma propriedade:
- default()
- O valor padrão do campo.
Métodos de instância
As instâncias de FieldList têm os seguintes métodos:
- validate(value)
- Valida um valor atribuído a um campo.
Argumentos
- value
- O valor a ser avaliado.
Será gerado um ValidationError se o valor não for um tipo esperado.
- validate_default_element(value)
-
Valida um valor atribuído a um campo padrão. Específico de um elemento único.
Alguns campos podem permitir a resolução atrasada de tipos padrão necessários no caso de referências com definição circular. Nesse caso, o valor padrão pode ser um marcador resolvido quando necessário depois que todas as classes de mensagem são definidas.
Argumentos
- value
- Valor padrão a ser validado.
Será gerado um ValidationError se o valor não for um tipo esperado.
- validate_default(value)
-
Valida o valor padrão de um campo.
Argumentos
- value
- Valor padrão a ser validado.
Será gerado um ValidationError se o valor não for um tipo esperado.
- message_definition()
-
Recebe uma definição de mensagem que contém essa definição de Field. Retorna uma definição para o objeto Message que contém o Field. Retorna None caso Field seja definido fora de uma classe de mensagem.
Será gerado um ValidationError se o valor não for um tipo esperado.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class serves as the foundation for all fields within messages and cannot be extended by developers, and is provided by the \u003ccode\u003eprotorpc.messages\u003c/code\u003e module.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e constructor takes parameters like \u003ccode\u003enumber\u003c/code\u003e, \u003ccode\u003erequired\u003c/code\u003e, \u003ccode\u003erepeated\u003c/code\u003e, \u003ccode\u003evariant\u003c/code\u003e, and \u003ccode\u003edefault\u003c/code\u003e to define field properties, and raises exceptions for invalid inputs, such as an invalid default, or mutually exclusive arguments.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class contains \u003ccode\u003eVARIANTS\u003c/code\u003e and \u003ccode\u003eDEFAULT_VARIANT\u003c/code\u003e properties that define the field's acceptable variant types, and its default variant type respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e instance methods include \u003ccode\u003evalidate\u003c/code\u003e, \u003ccode\u003evalidate_default_element\u003c/code\u003e, \u003ccode\u003evalidate_default\u003c/code\u003e to check values against expectations, and \u003ccode\u003emessage_definition\u003c/code\u003e to find the \u003ccode\u003eMessage\u003c/code\u003e that contains the Field.\u003c/p\u003e\n"],["\u003cp\u003eDefault values for Fields are not permitted for repeated fields or message fields, as specified by the argument \u003ccode\u003edefault=None\u003c/code\u003e in the constructor.\u003c/p\u003e\n"]]],[],null,["# The Field Class\n\nThe Field class is the base class for all fields defined on messages. This class cannot be extended by developers.\n\n`Field` is provided by the `protorpc.messages` module.\n\nConstructor\n-----------\n\nThe constructor of the Field class is defined as follows:\n\nclass\nField\n(message_type,\nnumber,\n\\[required=False \\| repeated=False\\], variant=None, default=None)\n\n: Initializes an Field instance. Each sub-class of Field must define the following:\n\n `VARIANTS`\n : Set of variant types accepted by that field.\n\n `DEFAULT_VARIANT`\n : Default variant type if not specified in constructor.\n **Arguments**\n\n number\n : Number of the field. Must be unique per message class.\n\n required=False\n : Whether or not this field is required. Mutually exclusive with the `repeated` argument; do not specify `repeated` if you use `required`.\n\n repeated=False\n : Whether or not this field is repeated. Mutually exclusive with the `required` argument; do not specify `required=True` if you also use `repeated=True`.\n\n variant=None\n : Provides additional encoding information that is mainly used by protocol buffers. These variants map to the Type values in `descriptor.proto`. Best practice is to use default values, but you can specify values as 32-bit, 64-bit, unsigned, etc.\n\n default=None\n\n : Default value for the field if not found in the underlying request. **Note:** Default values are not permitted for repeated fields or message fields.\n\n Raises the following exceptions:\n\n - [InvalidVariantError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidVariantError) when invalid variant for field is provided.\n - [InvalidDefaultError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidDefaultError) when invalid default for field is provided.\n - [FieldDefinitionError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#FieldDefinitionError) when invalid number provided or mutually exclusive fields are used.\n - [InvalidNumberError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidNumberError) when the field number is out of range or reserved.\n\nClass Property\n--------------\n\nThe FieldList class has one property:\n\ndefault()\n: The default value for the field.\n\nInstance Methods\n----------------\n\nFieldList instances have the following methods:\n\nvalidate(value)\n: Validates a value assigned to a field.\n **Arguments**\n\n value\n : The value to evaluate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nvalidate_default_element(value)\n\n: Validates a value assigned to a default field. Specific to a single element.\n\n Some fields may allow for delayed resolution of default types necessary in the case of circular definition references. In this case, the default value might be a placeholder that is resolved when needed after all the message classes are defined.\n **Arguments**\n\n value\n : Default value to validate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nvalidate_default(value)\n\n: Validates that a field's default value.\n\n **Arguments**\n\n value\n : Default value to validate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nmessage_definition()\n\n: Gets a message definition that contains this Field definition. Returns a definition for the [Message](/appengine/docs/legacy/standard/python/tools/protorpc/messages/messageclass) object that contains the Field. Returns None if Field is defined outside of a message class.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type."]]