DOMSaveOptions.java
6.87 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
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.xfa;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Arrays;
public final class DOMSaveOptions {
public static final int PRETTY_OUTPUT = 2;
public static final int RAW_OUTPUT = 0;
public static final int SIMPLE_OUTPUT = 1;
private boolean mbExcludePreamble;
private boolean mbExpandElement;
private boolean mbFormatOutside;
private boolean mbIncludeDTD;
private boolean mbSaveFragment;
private boolean mbSaveTransient;
private boolean mbUseSingleQuoteAttr;
private boolean mbCanonicalizeNamespaceOrder;
private boolean mbIgnoreExtraRootData;
private char mcRangeMax;
private char mcRangeMin;
private int mePrintFmt;
private int mnIndentLevel;
private String msDisabledEntityChars;
private String msEntityChars;
private static volatile byte[] mIndent;
private final Object sync = new Object();
public DOMSaveOptions() {
this.mePrintFmt = 1;
this.mnIndentLevel = 3;
this.msEntityChars = "";
this.msDisabledEntityChars = "";
}
public DOMSaveOptions(DOMSaveOptions oOptions) {
this.mePrintFmt = oOptions.mePrintFmt;
this.mbExcludePreamble = oOptions.mbExcludePreamble;
this.mbIncludeDTD = oOptions.mbIncludeDTD;
this.mbFormatOutside = oOptions.mbFormatOutside;
this.mbExpandElement = oOptions.mbExpandElement;
this.mbUseSingleQuoteAttr = oOptions.mbUseSingleQuoteAttr;
this.mbSaveTransient = oOptions.mbSaveTransient;
this.mbSaveFragment = oOptions.mbSaveFragment;
this.mnIndentLevel = oOptions.mnIndentLevel;
this.msEntityChars = oOptions.msEntityChars;
this.mcRangeMin = oOptions.mcRangeMin;
this.mcRangeMax = oOptions.mcRangeMax;
this.msDisabledEntityChars = oOptions.msDisabledEntityChars;
this.mbCanonicalizeNamespaceOrder = oOptions.mbCanonicalizeNamespaceOrder;
this.mbIgnoreExtraRootData = oOptions.mbIgnoreExtraRootData;
}
public DOMSaveOptions(int ePrintFmt, boolean bExcludePreamble, boolean bIncludeDTD, boolean bFormatOutside, int nIndentLevel, boolean bExpandElement, boolean bUseSingleQuoteAttr, String sEntityChars, char cRangeMin, char cRangeMax, String sDisabledEntityChars, boolean bIsUTF8, boolean bSaveTransient, boolean bSaveFragment) {
this.mePrintFmt = ePrintFmt;
this.mnIndentLevel = nIndentLevel;
this.msEntityChars = sEntityChars;
this.mcRangeMin = cRangeMin;
this.mcRangeMax = cRangeMax;
this.msDisabledEntityChars = sDisabledEntityChars;
this.mbSaveTransient = bSaveTransient;
this.mbSaveFragment = bSaveFragment;
this.mbExcludePreamble = bExcludePreamble;
this.mbIncludeDTD = bIncludeDTD;
this.mbFormatOutside = bFormatOutside;
this.mbExpandElement = bExpandElement;
this.mbUseSingleQuoteAttr = bUseSingleQuoteAttr;
}
boolean canBeSaved(boolean bFragmentFlag, boolean bDefaultFlag, boolean bTransientFlag) {
if (!(bFragmentFlag && this.getSaveFragment() || !bTransientFlag && !bDefaultFlag || this.getSaveTransient())) {
return false;
}
return true;
}
public boolean getCanonicalizeNamespaceOrder() {
return this.mbCanonicalizeNamespaceOrder;
}
public String getDisabledEntityChars() {
return this.msDisabledEntityChars;
}
public int getDisplayFormat() {
return this.mePrintFmt;
}
public String getEntityChars() {
return this.msEntityChars;
}
public boolean getExcludePreamble() {
return this.mbExcludePreamble;
}
public boolean getExpandElement() {
return this.mbExpandElement;
}
public boolean getFormatOutside() {
return this.mbFormatOutside;
}
public boolean getIncludeDTD() {
return this.mbIncludeDTD;
}
public int getIndentLevel() {
return this.mnIndentLevel;
}
public char getRangeMax() {
return this.mcRangeMax;
}
public char getRangeMin() {
return this.mcRangeMin;
}
public boolean getSaveFragment() {
return this.mbSaveFragment;
}
public boolean getSaveTransient() {
return this.mbSaveTransient;
}
public boolean getUseSingleQuoteAttr() {
return this.mbUseSingleQuoteAttr;
}
public boolean getIgnoreExtraRootData() {
return this.mbIgnoreExtraRootData;
}
public void setCanonicalizeNamespaceOrder(boolean bCanonicalizeNamespaceOrder) {
this.mbCanonicalizeNamespaceOrder = bCanonicalizeNamespaceOrder;
}
public void setDisabledEntityChars(String sEntityChars) {
this.msDisabledEntityChars = sEntityChars;
}
public void setDisplayFormat(int ePrintFmt) {
this.mePrintFmt = ePrintFmt;
}
public void setEntityChars(String sEntityChars) {
this.msEntityChars = sEntityChars;
}
public void setExcludePreamble(boolean bExcludePreamble) {
this.mbExcludePreamble = bExcludePreamble;
}
public void setExpandElement(boolean bExpandElement) {
this.mbExpandElement = bExpandElement;
}
public void setFormatOutside(boolean bFormatOutside) {
this.mbFormatOutside = bFormatOutside;
}
public void setIncludeDTD(boolean bIncludeDTD) {
this.mbIncludeDTD = bIncludeDTD;
}
public void setIndentLevel(int nIndentLevel) {
this.mnIndentLevel = nIndentLevel;
}
public void setRangeMax(char cRangeMax) {
this.mcRangeMax = cRangeMax;
}
public void setRangeMin(char cRangeMin) {
this.mcRangeMin = cRangeMin;
}
public void setSaveFragment(boolean bSaveFragment) {
this.mbSaveFragment = bSaveFragment;
}
public void setSaveTransient(boolean bSaveTransient) {
this.mbSaveTransient = bSaveTransient;
}
public void setUseSingleQuoteAttr(boolean bUseSingleQuoteAttr) {
this.mbUseSingleQuoteAttr = bUseSingleQuoteAttr;
}
public void setIgnoreExtraRootData(boolean bIgnoreExtraRootData) {
this.mbIgnoreExtraRootData = bIgnoreExtraRootData;
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
void writeIndent(OutputStream out, int level) throws IOException {
if (this.mePrintFmt == 2) {
out.write(10);
int n = level * this.getIndentLevel();
byte[] indent = mIndent;
if (indent == null || indent.length < n) {
Object object = this.sync;
synchronized (object) {
indent = mIndent;
if (indent == null || indent.length < n) {
indent = new byte[n];
Arrays.fill(indent, 32);
mIndent = indent;
}
}
}
out.write(indent, 0, n);
}
}
}