pub struct Metadata {
pub name: &'static str,
pub type_id: TypeId,
pub v_default: Arc<dyn EntityTrait>,
pub v_min: Option<Box<dyn EntityTrait>>,
pub v_max: Option<Box<dyn EntityTrait>>,
pub v_one_of: Vec<Box<dyn EntityTrait>>,
pub props: MetadataProps,
pub fn_default: Box<dyn Fn() -> Box<dyn EntityTrait> + Send + Sync>,
pub fn_copy_to: fn(_: &dyn Any, _: &mut dyn Any),
pub fn_serialize_to: fn(_: &dyn Any, _: &mut dyn Serializer) -> Result<(), Error>,
pub fn_deserialize_from: fn(_: &mut dyn Any, _: &mut dyn Deserializer<'_>) -> Result<(), Error>,
pub fn_validate: fn(_: &Metadata, _: &mut dyn Any) -> Option<bool>,
}Expand description
Metadata for configuration entity. This can be used as template for multiple config entity instances.
Fields§
§name: &'static strIdentifier for this config entity.
type_id: TypeId§v_default: Arc<dyn EntityTrait>§v_min: Option<Box<dyn EntityTrait>>§v_max: Option<Box<dyn EntityTrait>>§v_one_of: Vec<Box<dyn EntityTrait>>§props: MetadataProps§fn_default: Box<dyn Fn() -> Box<dyn EntityTrait> + Send + Sync>§fn_copy_to: fn(_: &dyn Any, _: &mut dyn Any)§fn_serialize_to: fn(_: &dyn Any, _: &mut dyn Serializer) -> Result<(), Error>§fn_deserialize_from: fn(_: &mut dyn Any, _: &mut dyn Deserializer<'_>) -> Result<(), Error>§fn_validate: fn(_: &Metadata, _: &mut dyn Any) -> Option<bool>Returns None if validation failed. Some(false) when source value was corrected. Some(true) when value was correct.
Implementations§
source§impl Metadata
impl Metadata
pub fn create_for_base_type<T>( name: &'static str, init: MetadataValInit<T>, props: MetadataProps ) -> Selfwhere T: EntityTrait + Clone + DeserializeOwned + Serialize,
Auto Trait Implementations§
impl !RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl !UnwindSafe for Metadata
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more