vcard/parameters/
language.rs1use std::fmt::Display;
2
3use validators::{Validated, ValidatedWrapper};
4
5use super::{super::values::language_tag::LanguageTag, *};
6
7#[derive(Clone, Debug, PartialEq, Eq, Hash)]
8pub struct Language {
9 language_tag: LanguageTag,
10}
11
12impl Language {
13 pub fn from_language_tag(language_tag: LanguageTag) -> Language {
14 Language {
15 language_tag,
16 }
17 }
18}
19
20impl Language {
21 pub fn get_language_tag(&self) -> &LanguageTag {
22 &self.language_tag
23 }
24}
25
26impl Parameter for Language {
27 fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> {
28 f.write_str(";LANGUAGE=")?;
29 f.write_str(self.language_tag.as_str())?;
30
31 Ok(())
32 }
33}
34
35impl Display for Language {
36 fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> {
37 Parameter::fmt(self, f)
38 }
39}
40
41impl Validated for Language {}
42
43impl ValidatedWrapper for Language {
44 type Error = &'static str;
45
46 fn from_string(_from_string_input: String) -> Result<Self, Self::Error> {
47 unimplemented!();
48 }
49
50 fn from_str(_from_str_input: &str) -> Result<Self, Self::Error> {
51 unimplemented!();
52 }
53}