Enum avro_rs::types::Value
[−]
[src]
pub enum Value { Null, Boolean(bool), Int(i32), Long(i64), Float(f32), Double(f64), Bytes(Vec<u8>), String(String), Fixed(usize, Vec<u8>), Enum(i32, String), Union(Option<Box<Value>>), Array(Vec<Value>), Map(HashMap<String, Value>), Record(Vec<(String, Value)>), }
Represents any valid Avro value More information about Avro values can be found in the Avro Specification
Variants
Null
A null
Avro value.
Boolean(bool)
A boolean
Avro value.
Int(i32)
A int
Avro value.
Long(i64)
A long
Avro value.
Float(f32)
A float
Avro value.
Double(f64)
A double
Avro value.
Bytes(Vec<u8>)
A bytes
Avro value.
String(String)
A string
Avro value.
Fixed(usize, Vec<u8>)
A fixed
Avro value.
The size of the fixed value is represented as a usize
.
Enum(i32, String)
An enum
Avro value.
An Enum is represented by a symbol and its position in the symbols list of its corresponding schema. This allows schema-less encoding, as well as schema resolution while reading values.
Union(Option<Box<Value>>)
An union
Avro value.
The current implementation limits union support to ["null", "< type >"].
None
represents a null
value, while Some(<X>)
represents a type
value.
Array(Vec<Value>)
An array
Avro value.
Map(HashMap<String, Value>)
A map
Avro value.
Record(Vec<(String, Value)>)
A record
Avro value.
A Record is represented by a vector of (<record name>
, value
).
This allows schema-less encoding.
See Record for a more user-friendly support.
Methods
impl Value
[src]
pub fn validate(&self, schema: &Schema) -> bool
[src]
Validate the value against the given Schema.
See the Avro specification for the full set of rules of schema validation.
pub fn resolve(self, schema: &Schema) -> Result<Self, Error>
[src]
Attempt to perform schema resolution on the value, with the given Schema.
See Schema Resolution in the Avro specification for the full set of rules of schema resolution.
Trait Implementations
impl Clone for Value
[src]
fn clone(&self) -> Value
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for Value
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl PartialEq for Value
[src]
fn eq(&self, __arg_0: &Value) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Value) -> bool
[src]
This method tests for !=
.