Field クラスは、メッセージに対して定義するすべてのフィールドの基本クラスです。開発者はこのクラスを拡張できません。
Field
は protorpc.messages
モジュールによって提供されます。
コンストラクタ
Field クラスのコンストラクタは次のように定義されます。
- class Field (message_type, number, [required=False | repeated=False], variant=None, default=None)
-
Field インスタンスを初期化します。Field の各サブクラスでは、次の項目を定義する必要があります:
VARIANTS
- 該当のフィールドで使用可能な一連のバリアント型。
DEFAULT_VARIANT
- コンストラクタで指定されていない場合は、デフォルトのバリアント型。
- number
- フィールドの番号。メッセージ クラスごとに一意でなければなりません。
- required=False
- このフィールドが必須かどうかを指定します。
repeated
引数と同時に指定することはできません。required
を使用する場合はrepeated
を指定しないでください。 - repeated=False
- このフィールドが反復フィールドかどうかを指定します。
required
引数と同時に指定することはできません。repeated=True
も使用する場合、required=True
は指定しないでください。 - variant=None
- 主にプロトコル バッファによって使用される追加のエンコード情報を指定します。これらのバリアントは、
descriptor.proto
で Type 値にマッピングされます。デフォルト値を使用することをおすすめしますが、32 ビット、64 ビット、符号なしなどの値を指定できます。 - default=None
- 基となるリクエストに値が見つからない場合の、フィールドのデフォルト値。
注: デフォルト値は、反復フィールドやメッセージ フィールドには使用できません。
次の例外を送出します:
- InvalidVariantError: フィールドに無効なバリアントが指定された場合
- InvalidDefaultError: フィールドに無効なデフォルト値が指定された場合
- FieldDefinitionError: 無効な番号が指定された場合、または同時に指定できないフィールドが使用されている場合
- InvalidNumberError: フィールド番号が範囲外であるか、予約済みである場合
クラスのプロパティ
FieldList クラスにはプロパティが 1 つあります。
- default()
- フィールドのデフォルト値。
インスタンス メソッド
FieldList インスタンスには、次のメソッドがあります。
- validate(value)
- フィールドに割り当てられた値を検証します。
引数
- value
- 検証する値。
値が想定される型でない場合、ValidationError を送出します。
- validate_default_element(value)
-
デフォルト フィールドに割り当てられた値を検証します。要素ごとに固有です。
一部のフィールドでは、循環定義の参照の場合に必要な、デフォルト型の遅延解決が可能です。この場合、デフォルト値をプレースホルダとすることができ、すべてのメッセージ クラスが定義された後に必要に応じて解決されます。
引数- value
- 検証するデフォルト値。
値が想定される型でない場合、ValidationError を送出します。
- validate_default(value)
-
フィールドのデフォルト値を検証します。
引数- value
- 検証するデフォルト値。
値が想定される型でない場合、ValidationError を送出します。
- message_definition()
-
この Field 定義を含むメッセージ定義を取得します。Field を含む Message オブジェクトの定義を返します。Field がメッセージ クラスの外部で定義されている場合は、None を返します。
値が想定される型でない場合、ValidationError を送出します。