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