A classe Field

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.