use std::collections::HashMap;
#[derive(Debug, Clone)]
pub struct Tag {
name: String,
attr: Option<HashMap<String, String>>,
terminated: bool,
terminator: bool,
}
impl Tag {
pub fn new(name: String) -> Tag {
Tag {
name,
attr: None,
terminated: false,
terminator: false,
}
}
pub fn get_name(&self) -> &str {
&self.name
}
pub fn set_attr(&mut self, attr: HashMap<String, String>) {
self.attr = Some(attr);
}
pub fn get_attr(&self) -> Option<&HashMap<String, String>> {
self.attr.as_ref()
}
pub fn set_terminated(&mut self, b: bool) {
self.terminated = b;
}
pub fn is_terminated(&self) -> bool {
self.terminated
}
pub fn set_terminator(&mut self, b: bool) {
self.terminator = b;
}
pub fn is_terminator(&self) -> bool {
self.terminator
}
}