1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#[derive(Clone, Debug)]
pub struct Properties {
    creator: String,
    last_modified_by: String,
    created: String,
    modified: String,
    title: String,
    description: String,
    subject: String,
    keywords: String,
    category: String,
    manager: String,
    company: String,
    revision: String,
    version: String,
    custom_properties: Vec<String>,
}
impl Default for Properties {
    fn default() -> Self {
        Self {
            creator: String::from(""),
            last_modified_by: String::from(""),
            created: String::from("2006-09-16T00:00:00Z"),
            modified: String::from("2006-09-16T00:00:00Z"),
            title: String::from(""),
            description: String::from(""),
            subject: String::from(""),
            keywords: String::from(""),
            category: String::from(""),
            manager: String::from(""),
            company: String::from(""),
            revision: String::from(""),
            version: String::from(""),
            custom_properties: Vec::new(),
        }
    }
}
impl Properties {
    pub fn get_creator(&self) -> &str {
        &self.creator
    }

    pub fn set_creator<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.creator = value.into();
        self
    }

    pub fn get_last_modified_by(&self) -> &str {
        &self.last_modified_by
    }

    pub fn set_last_modified_by<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.last_modified_by = value.into();
        self
    }

    pub fn get_created(&self) -> &str {
        &self.created
    }

    pub fn set_created<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.created = value.into();
        self
    }

    pub fn get_modified(&self) -> &str {
        &self.modified
    }

    pub fn set_modified<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.modified = value.into();
        self
    }

    pub fn get_title(&self) -> &str {
        &self.title
    }

    pub fn set_title<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.title = value.into();
        self
    }

    pub fn get_description(&self) -> &str {
        &self.description
    }

    pub fn set_description<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.description = value.into();
        self
    }

    pub fn get_subject(&self) -> &str {
        &self.subject
    }

    pub fn set_subject<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.subject = value.into();
        self
    }

    pub fn get_keywords(&self) -> &str {
        &self.keywords
    }

    pub fn set_keywords<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.keywords = value.into();
        self
    }

    pub fn get_revision(&self) -> &str {
        &self.revision
    }

    pub fn set_revision<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.revision = value.into();
        self
    }

    pub fn get_category(&self) -> &str {
        &self.category
    }

    pub fn set_category<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.category = value.into();
        self
    }

    pub fn get_version(&self) -> &str {
        &self.version
    }

    pub fn set_version<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.version = value.into();
        self
    }

    pub fn get_manager(&self) -> &str {
        &self.manager
    }

    pub fn set_manager<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.manager = value.into();
        self
    }

    pub fn get_company(&self) -> &str {
        &self.company
    }

    pub fn set_company<S: Into<String>>(&mut self, value: S) -> &mut Properties {
        self.company = value.into();
        self
    }

    pub fn get_custom_properties(&self) -> &Vec<String> {
        &self.custom_properties
    }

    pub fn set_custom_properties(&mut self, value: Vec<String>) -> &mut Properties {
        self.custom_properties = value;
        self
    }
}