zugferd_code_lists/zugferd_2_3_2/
filename.rs1#![allow(non_camel_case_types)]
2
3#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
4#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
5pub enum Filename {
6 TheHybridDocumentContainsAFacturXZugferdXmlFile,
10 TheHybridDocumentContainsAXrechnungXmlFile,
14 TheHybridDocumentContainsAnOrderXXmlFile,
16}
17
18impl crate::Code for Filename {
19 fn code(self) -> &'static str {
20 match self {
21 Filename::TheHybridDocumentContainsAFacturXZugferdXmlFile => "factur-x.xml",
22 Filename::TheHybridDocumentContainsAXrechnungXmlFile => "xrechnung.xml",
23 Filename::TheHybridDocumentContainsAnOrderXXmlFile => "order-x.xml",
24 }
25 }
26}
27
28impl crate::Description for Filename {
29 fn description(self) -> &'static str {
30 match self {
31 Filename::TheHybridDocumentContainsAFacturXZugferdXmlFile => {
32 "The hybrid document contains a Factur-X / ZUGFeRD XML-file"
33 }
34 Filename::TheHybridDocumentContainsAXrechnungXmlFile => {
35 "The hybrid document contains a XRechnung XML file"
36 }
37 Filename::TheHybridDocumentContainsAnOrderXXmlFile => {
38 "The hybrid document contains an Order-X XML file"
39 }
40 }
41 }
42}
43
44impl crate::FromCode for Filename {
45 fn from_code(code: &str) -> Option<Self>
46 where
47 Self: Sized,
48 {
49 match code {
50 "factur-x.xml" => Some(Filename::TheHybridDocumentContainsAFacturXZugferdXmlFile),
51 "xrechnung.xml" => Some(Filename::TheHybridDocumentContainsAXrechnungXmlFile),
52 "order-x.xml" => Some(Filename::TheHybridDocumentContainsAnOrderXXmlFile),
53 _ => None,
54 }
55 }
56}