use std::sync::Arc;
use serde::{Deserialize, Serialize};
use crate::Language;
use super::id::ResolutionUnitId;
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]
#[serde(deny_unknown_fields)]
pub struct ResolutionUnit {
id: ResolutionUnitId,
language: Language,
key: Arc<str>,
name: Arc<str>,
}
impl ResolutionUnit {
pub(crate) fn new(
id: ResolutionUnitId,
language: Language,
key: Arc<str>,
name: Arc<str>,
) -> Self {
Self {
id,
language,
key,
name,
}
}
pub fn id(&self) -> ResolutionUnitId {
self.id
}
pub fn language(&self) -> Language {
self.language
}
pub fn key(&self) -> &str {
&self.key
}
pub fn name(&self) -> &str {
&self.name
}
}