diff -r fca460b63839 -r 91fb907a8732 jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFImageReadParam.java --- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFImageReadParam.java Mon Dec 12 20:54:41 2016 -0800 +++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/TIFFImageReadParam.java Tue Dec 13 12:02:37 2016 -0800 @@ -46,6 +46,10 @@ * {@code ExifParentTIFFTagSet}, and {@code GeoTIFFTagSet} * are included. * + *

Forcing reading of fields corresponding to {@code TIFFTag}s + * not in any of the allowed {@code TIFFTagSet}s may be effected via + * {@link #setReadUnknownTags setReadUnknownTags}. + * * @since 9 */ public final class TIFFImageReadParam extends ImageReadParam { @@ -53,6 +57,8 @@ private final List allowedTagSets = new ArrayList(4); + private boolean readUnknownTags = false; + /** * Constructs a {@code TIFFImageReadParam}. Tags defined by * the {@code TIFFTagSet}s {@code BaselineTIFFTagSet}, @@ -117,4 +123,27 @@ public List getAllowedTagSets() { return allowedTagSets; } + + /** + * Set whether to read fields corresponding to {@code TIFFTag}s not in + * the allowed {@code TIFFTagSet}s. The default setting is {@code false}. + * If the TIFF {@code ImageReader} is ignoring metadata, then a setting + * of {@code true} is overridden as all metadata are ignored except those + * essential to reading the image itself. + * + * @param readUnknownTags Whether to read fields of unrecognized tags + */ + public void setReadUnknownTags(boolean readUnknownTags) { + this.readUnknownTags = readUnknownTags; + } + + /** + * Retrieve the setting of whether to read fields corresponding to unknown + * {@code TIFFTag}s. + * + * @return Whether to read fields of unrecognized tags + */ + public boolean getReadUnknownTags() { + return readUnknownTags; + } }