use crate::rubase::BaseEntitySingle;
use crate::ruweb::webdto::web_route::WebRoute;
use std::sync::Arc;
#[derive(Default, Clone, Debug)]
pub struct WebRouteList {
items: Arc<Vec<WebRoute>>,
}
impl BaseEntitySingle for WebRouteList {}
impl WebRouteList {
pub fn new() -> Self {
Self {
items: Arc::new(Vec::<WebRoute>::new()),
}
}
pub fn add_item(&mut self, item: WebRoute) {
let mut data_mut = Arc::make_mut(&mut self.items); data_mut .push(item);
}
pub fn find_item(&self, name: &str) -> &WebRoute {
for item in self.items.iter() {
if item.name.as_str() == name {
return item;
}
}
&self.items[0]
}
pub fn list_items(&self) {
self.items.iter().for_each(|item| {
println!("{:#?}", item);
})
}
}