Enum avro_rs::schema::Schema [−][src]
pub enum Schema { Null, Boolean, Int, Long, Float, Double, Bytes, String, Array(Box<Schema>), Map(Box<Schema>), Union(UnionSchema), Record { name: Name, doc: Documentation, fields: Vec<RecordField>, lookup: HashMap<String, usize>, }, Enum { name: Name, doc: Documentation, symbols: Vec<String>, }, Fixed { name: Name, size: usize, }, }
Represents any valid Avro schema More information about Avro schemas can be found in the Avro Specification
Variants
Null
A null
Avro schema.
Boolean
A boolean
Avro schema.
Int
An int
Avro schema.
Long
A long
Avro schema.
Float
A float
Avro schema.
Double
A double
Avro schema.
Bytes
A bytes
Avro schema.
Bytes
represents a sequence of 8-bit unsigned bytes.
String
A string
Avro schema.
String
represents a unicode character sequence.
Array(Box<Schema>)
A array
Avro schema. Avro arrays are required to have the same type for each element.
This variant holds the Schema
for the array element type.
Map(Box<Schema>)
A map
Avro schema.
Map
holds a pointer to the Schema
of its values, which must all be the same schema.
Map
keys are assumed to be string
.
Union(UnionSchema)
A union
Avro schema.
Record
A record
Avro schema.
The lookup
table maps field names to their position in the Vec
of fields
.
Fields of Record
name: Name | |
doc: Documentation | |
fields: Vec<RecordField> | |
lookup: HashMap<String, usize> |
Enum
An enum
Avro schema.
Fields of Enum
name: Name | |
doc: Documentation | |
symbols: Vec<String> |
Fixed
A fixed
Avro schema.
Fields of Fixed
name: Name | |
size: usize |
Methods
impl Schema
[src]
impl Schema
pub fn parse_str(input: &str) -> Result<Self, Error>
[src]
pub fn parse_str(input: &str) -> Result<Self, Error>
Create a Schema
from a string representing a JSON Avro schema.
pub fn parse(value: &Value) -> Result<Self, Error>
[src]
pub fn parse(value: &Value) -> Result<Self, Error>
Create a Schema
from a serde_json::Value
representing a JSON Avro
schema.
pub fn canonical_form(&self) -> String
[src]
pub fn canonical_form(&self) -> String
Converts self
into its Parsing Canonical Form.
Trait Implementations
impl Clone for Schema
[src]
impl Clone for Schema
fn clone(&self) -> Schema
[src]
fn clone(&self) -> Schema
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for Schema
[src]
impl Debug for Schema
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for Schema
[src]
impl PartialEq for Schema
fn eq(&self, other: &Schema) -> bool
[src]
fn eq(&self, other: &Schema) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Schema) -> bool
[src]
fn ne(&self, other: &Schema) -> bool
This method tests for !=
.
impl Serialize for Schema
[src]
impl Serialize for Schema