-
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathintf.ZUGFeRDInvoiceFormatOptions.pas
More file actions
80 lines (67 loc) · 2.35 KB
/
Copy pathintf.ZUGFeRDInvoiceFormatOptions.pas
File metadata and controls
80 lines (67 loc) · 2.35 KB
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
unit intf.ZUGFeRDInvoiceFormatOptions;
{* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.}
interface
uses
System.SysUtils,
System.Classes,
System.Generics.Collections;
type
TZUGFeRDInvoiceFormatOptions = class sealed
private
FXmlHeaderComments: TList<string>;
FIncludeXmlComments: Boolean;
FAutomaticallyCleanInvalidCharacters: Boolean;
public
constructor Create;
destructor Destroy; override;
function Clone: TZUGFeRDInvoiceFormatOptions;
property XmlHeaderComments: TList<string> read FXmlHeaderComments;
property IncludeXmlComments: Boolean read FIncludeXmlComments write FIncludeXmlComments;
property AutomaticallyCleanInvalidCharacters: Boolean read FAutomaticallyCleanInvalidCharacters write FAutomaticallyCleanInvalidCharacters;
end;
implementation
{ TInvoiceFormatOptions }
constructor TZUGFeRDInvoiceFormatOptions.Create;
begin
inherited Create;
FXmlHeaderComments := TList<string>.Create;
FIncludeXmlComments := False;
FAutomaticallyCleanInvalidCharacters := False;
end;
destructor TZUGFeRDInvoiceFormatOptions.Destroy;
begin
FXmlHeaderComments.Free;
inherited;
end;
function TZUGFeRDInvoiceFormatOptions.Clone: TZUGFeRDInvoiceFormatOptions;
var
Comment: string;
begin
Result := TZUGFeRDInvoiceFormatOptions.Create;
try
// Copy all comments from the list
for Comment in Self.FXmlHeaderComments do
Result.FXmlHeaderComments.Add(Comment);
Result.FIncludeXmlComments := Self.FIncludeXmlComments;
Result.FAutomaticallyCleanInvalidCharacters := Self.FAutomaticallyCleanInvalidCharacters;
except
Result.Free;
raise;
end;
end;
end.