use serde::de::DeserializeOwned;
use serde::Serialize;
use crate::rubase::rutils::jsonutils;
pub trait BaseGeneral {
fn if_single(&self) -> bool { false }
fn init(&mut self) {}
fn shutdown(&mut self) {}
fn auto_init(&self) -> bool { false }
fn to_json(&self) -> String
where
Self: Serialize,
{
jsonutils::struct2json(&self).unwrap()
}
fn from_json( &self, from: String) -> Self
where
Self: Serialize+DeserializeOwned,
{
jsonutils::json2struct(from.as_str()).unwrap()
}
}