Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.desktop/share/classes/javax/imageio/plugins/tiff/FaxTIFFTagSet.java
44021 views
1
/*
2
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
package javax.imageio.plugins.tiff;
26
27
import java.util.ArrayList;
28
import java.util.List;
29
30
/**
31
* A class representing the extra tags found in a
32
* <a href="http://tools.ietf.org/html/rfc2306.html">TIFF-F</a> (RFC 2036) file.
33
*
34
* @since 9
35
*/
36
public final class FaxTIFFTagSet extends TIFFTagSet {
37
38
private static FaxTIFFTagSet theInstance = null;
39
40
/** Tag indicating the number of bad fax lines (type SHORT or LONG). */
41
public static final int TAG_BAD_FAX_LINES = 326;
42
43
/**
44
* Tag indicating the number of lines of clean fax data (type
45
* SHORT).
46
*
47
* @see #CLEAN_FAX_DATA_NO_ERRORS
48
* @see #CLEAN_FAX_DATA_ERRORS_CORRECTED
49
* @see #CLEAN_FAX_DATA_ERRORS_UNCORRECTED
50
*/
51
public static final int TAG_CLEAN_FAX_DATA = 327;
52
53
/**
54
* A value to be used with the "CleanFaxData" tag.
55
*
56
* @see #TAG_CLEAN_FAX_DATA
57
*/
58
public static final int CLEAN_FAX_DATA_NO_ERRORS = 0;
59
60
/**
61
* A value to be used with the "CleanFaxData" tag.
62
*
63
* @see #TAG_CLEAN_FAX_DATA
64
*/
65
public static final int CLEAN_FAX_DATA_ERRORS_CORRECTED = 1;
66
67
/**
68
* A value to be used with the "CleanFaxData" tag.
69
*
70
* @see #TAG_CLEAN_FAX_DATA
71
*/
72
public static final int CLEAN_FAX_DATA_ERRORS_UNCORRECTED = 2;
73
74
/**
75
* Tag indicating the number of consecutive bad lines (type
76
* SHORT or LONG).
77
*/
78
public static final int TAG_CONSECUTIVE_BAD_LINES = 328;
79
80
static class BadFaxLines extends TIFFTag {
81
82
public BadFaxLines() {
83
super("BadFaxLines",
84
TAG_BAD_FAX_LINES,
85
1 << TIFF_SHORT |
86
1 << TIFF_LONG,
87
1);
88
}
89
}
90
91
static class CleanFaxData extends TIFFTag {
92
93
public CleanFaxData() {
94
super("CleanFaxData",
95
TAG_CLEAN_FAX_DATA,
96
1 << TIFF_SHORT,
97
1);
98
99
addValueName(CLEAN_FAX_DATA_NO_ERRORS,
100
"No errors");
101
addValueName(CLEAN_FAX_DATA_ERRORS_CORRECTED,
102
"Errors corrected");
103
addValueName(CLEAN_FAX_DATA_ERRORS_UNCORRECTED,
104
"Errors uncorrected");
105
}
106
}
107
108
static class ConsecutiveBadFaxLines extends TIFFTag {
109
110
public ConsecutiveBadFaxLines() {
111
super("ConsecutiveBadFaxLines",
112
TAG_CONSECUTIVE_BAD_LINES,
113
1 << TIFF_SHORT |
114
1 << TIFF_LONG,
115
1);
116
}
117
}
118
119
private static List<TIFFTag> tags;
120
121
private static void initTags() {
122
tags = new ArrayList<TIFFTag>(42);
123
124
tags.add(new FaxTIFFTagSet.BadFaxLines());
125
tags.add(new FaxTIFFTagSet.CleanFaxData());
126
tags.add(new FaxTIFFTagSet.ConsecutiveBadFaxLines());
127
}
128
129
private FaxTIFFTagSet() {
130
super(tags);
131
}
132
133
/**
134
* Returns a shared instance of a {@code FaxTIFFTagSet}.
135
*
136
* @return a {@code FaxTIFFTagSet} instance.
137
*/
138
public synchronized static FaxTIFFTagSet getInstance() {
139
if (theInstance == null) {
140
initTags();
141
theInstance = new FaxTIFFTagSet();
142
tags = null;
143
}
144
return theInstance;
145
}
146
}
147
148