MetadataVTable

Trait MetadataVTable 

Source
pub trait MetadataVTable:
    Send
    + Sync
    + 'static
    + Debug {
    // Required methods
    fn implements_copy(&self) -> bool;
    fn create_default(&self) -> EntityValue;
    fn deserialize(
        &self,
        de: &mut dyn Deserializer<'_>,
    ) -> Result<EntityValue, Error>;
    fn clone_in_place(&self, src: &dyn Any, dst: &mut dyn Any);
    fn validate(&self, value: &mut dyn Any) -> ValidationResult;
}

Required Methods§

Source

fn implements_copy(&self) -> bool

Does implement Copy?

Source

fn create_default(&self) -> EntityValue

Creates default value for this config entity.

Source

fn deserialize( &self, de: &mut dyn Deserializer<'_>, ) -> Result<EntityValue, Error>

Create new deserialized entity instance from given deserializer

Source

fn clone_in_place(&self, src: &dyn Any, dst: &mut dyn Any)

Copy one value from another. Panics when called with unmatched type!

Source

fn validate(&self, value: &mut dyn Any) -> ValidationResult

Returns None if validation failed. Some(false) when source value was corrected. Some(true) when value was correct.

Implementors§