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.
- 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 especifiquerepeated
se usarrequired
. - repeated=False
- Se o campo é repetido ou não. Mutuamente exclusivo com o argumento
required
. Não especifiquerequired=True
se usarrepeated=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:
- InvalidVariantError quando a variante inválida do campo é fornecida;
- InvalidDefaultError quando um padrão inválido do campo é fornecido;
- FieldDefinitionError quando um número inválido fornecido ou campos mutuamente excludentes são usados;
- InvalidNumberError quando o número de campo está fora do intervalo ou reservado.
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.