Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -23,17 +23,22 @@ import java.util.List;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDirectory;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDouble;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoGpsText;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDirectory;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSLong;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRational;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefined;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknown;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknowns;
 
 /**
  * References:
@@ -49,7 +54,7 @@ public final class ExifTagConstants {
             "InteroperabilityIndex", 0x0001, -1,
             TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
     public static final TagInfoUndefined EXIF_TAG_INTEROPERABILITY_VERSION = 
new TagInfoUndefined(
-            "InteroperabilityVersion", 0x0002, 1,
+            "InteroperabilityVersion", 0x0002,
             TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
     public static final TagInfoAscii EXIF_TAG_PROCESSING_SOFTWARE = new 
TagInfoAscii(
             "ProcessingSoftware", 0x000b, -1,
@@ -58,79 +63,79 @@ public final class ExifTagConstants {
             "Software", 0x0131, -1,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_IFD0 = new 
TagInfoLong(
-            "PreviewImageStart", 0x0111, 1,
+            "PreviewImageStart", 0x0111,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0, true);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_SUB_IFD1 = 
new TagInfoLong(
-            "PreviewImageStart", 0x0111, 1,
+            "PreviewImageStart", 0x0111,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD1, true);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD2 = new 
TagInfoLong(
-            "JpgFromRawStart", 0x0111, 1,
+            "JpgFromRawStart", 0x0111,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2, true);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_LENGTH_IFD0 = new 
TagInfoLong(
-            "PreviewImageLength", 0x0117, 1,
+            "PreviewImageLength", 0x0117,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_LENGTH_SUB_IFD1 = 
new TagInfoLong(
-            "PreviewImageLength", 0x0117, 1,
+            "PreviewImageLength", 0x0117,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD1);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2 = 
new TagInfoLong(
-            "JpgFromRawLength", 0x0117, 1,
+            "JpgFromRawLength", 0x0117,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES = 
new TagInfoLong(
-            "PreviewImageStart", 0x0201, 1,
+            "PreviewImageStart", 0x0201,
             TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD = new 
TagInfoLong(
-            "JpgFromRawStart", 0x0201, 1,
+            "JpgFromRawStart", 0x0201,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD, true);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_START_IFD2 = new 
TagInfoLong(
-            "JpgFromRawStart", 0x0201, 1,
+            "JpgFromRawStart", 0x0201,
             TiffDirectoryType.EXIF_DIRECTORY_IFD2, true);
     public static final TagInfoLong EXIF_TAG_OTHER_IMAGE_START = new 
TagInfoLong(
-            "OtherImageStart", 0x0201, 1,
+            "OtherImageStart", 0x0201,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
     public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_LENGTH_MAKER_NOTES 
= new TagInfoLong(
-            "PreviewImageLength", 0x0202, 1,
+            "PreviewImageLength", 0x0202,
             TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD = new 
TagInfoLong(
-            "JpgFromRawLength", 0x0202, 1,
+            "JpgFromRawLength", 0x0202,
             TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD);
     public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_IFD2 = new 
TagInfoLong(
-            "JpgFromRawLength", 0x0202, 1,
+            "JpgFromRawLength", 0x0202,
             TiffDirectoryType.EXIF_DIRECTORY_IFD2);
     public static final TagInfoLong EXIF_TAG_OTHER_IMAGE_LENGTH = new 
TagInfoLong(
-            "OtherImageLength", 0x0202, 1,
+            "OtherImageLength", 0x0202,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_APPLICATION_NOTES = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_APPLICATION_NOTES = new 
TagInfoBytes(
             "ApplicationNotes", 0x02bc, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_MATTEING = new TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_MATTEING = new 
TagInfoUnknowns(
             "Matteing", 0x80e3, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_DATA_TYPE = new TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_DATA_TYPE = new 
TagInfoUnknowns(
             "DataType", 0x80e4, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_IMAGE_DEPTH = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_IMAGE_DEPTH = new 
TagInfoUnknowns(
             "ImageDepth", 0x80e5, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_TILE_DEPTH = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_TILE_DEPTH = new 
TagInfoUnknowns(
             "TileDepth", 0x80e6, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_MODEL_2 = new TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_MODEL_2 = new TagInfoUnknowns(
             "Model2", 0x827d, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoRational EXIF_TAG_EXPOSURE_TIME = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_EXPOSURE_TIME = new 
TagInfoRationals(
             "ExposureTime", 0x829a, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoRational EXIF_TAG_FNUMBER = new TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_FNUMBER = new 
TagInfoRationals(
             "FNumber", 0x829d, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     // FIXME: other types?
     public static final TagInfoLong EXIF_TAG_IPTC_NAA = new TagInfoLong(
-            "IPTC-NAA", 0x83bb, 1,
+            "IPTC-NAA", 0x83bb,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
-    public static final TagInfoShort EXIF_TAG_INTERGRAPH_PACKET_DATA = new 
TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_INTERGRAPH_PACKET_DATA = new 
TagInfoShorts(
             "IntergraphPacketData", 0x847e, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoLong EXIF_TAG_INTERGRAPH_FLAG_REGISTERS = new 
TagInfoLong(
+    public static final TagInfoLongs EXIF_TAG_INTERGRAPH_FLAG_REGISTERS = new 
TagInfoLongs(
             "IntergraphFlagRegisters", 0x847f, 16,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoAscii EXIF_TAG_SITE = new TagInfoAscii(
@@ -143,34 +148,34 @@ public final class ExifTagConstants {
             "IT8Header", 0x84e2, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_RASTER_PADDING = new 
TagInfoShort(
-            "RasterPadding", 0x84e3, 1,
+            "RasterPadding", 0x84e3,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_BITS_PER_RUN_LENGTH = new 
TagInfoShort(
-            "BitsPerRunLength", 0x84e4, 1,
+            "BitsPerRunLength", 0x84e4,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_BITS_PER_EXTENDED_RUN_LENGTH = 
new TagInfoShort(
-            "BitsPerExtendedRunLength", 0x84e5, 1,
+            "BitsPerExtendedRunLength", 0x84e5,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_COLOR_TABLE = new TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_COLOR_TABLE = new TagInfoBytes(
             "ColorTable", 0x84e6, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoByte EXIF_TAG_IMAGE_COLOR_INDICATOR = new 
TagInfoByte(
-            "ImageColorIndicator", 0x84e7, 1,
+            "ImageColorIndicator", 0x84e7,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoByte EXIF_TAG_BACKGROUND_COLOR_INDICATOR = new 
TagInfoByte(
-            "BackgroundColorIndicator", 0x84e8, 1,
+            "BackgroundColorIndicator", 0x84e8,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_IMAGE_COLOR_VALUE = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_IMAGE_COLOR_VALUE = new 
TagInfoBytes(
             "ImageColorValue", 0x84e9, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_BACKGROUND_COLOR_VALUE = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_BACKGROUND_COLOR_VALUE = new 
TagInfoBytes(
             "BackgroundColorValue", 0x84ea, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_PIXEL_INTENSITY_RANGE = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_PIXEL_INTENSITY_RANGE = new 
TagInfoBytes(
             "PixelIntensityRange", 0x84eb, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoByte EXIF_TAG_TRANSPARENCY_INDICATOR = new 
TagInfoByte(
-            "TransparencyIndicator", 0x84ec, 1,
+            "TransparencyIndicator", 0x84ec,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoAscii EXIF_TAG_COLOR_CHARACTERIZATION = new 
TagInfoAscii(
             "ColorCharacterization", 0x84ed, -1,
@@ -182,19 +187,19 @@ public final class ExifTagConstants {
             "SEMInfo", 0x8546, 1,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
     public static final TagInfoLong EXIF_TAG_AFCP_IPTC = new TagInfoLong(
-            "AFCP_IPTC", 0x8568, 1,
+            "AFCP_IPTC", 0x8568,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoLong EXIF_TAG_LEAF_DATA = new TagInfoLong(
-            "LeafData", 0x8606, 1,
+            "LeafData", 0x8606,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoByte EXIF_TAG_PHOTOSHOP_SETTINGS = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_PHOTOSHOP_SETTINGS = new 
TagInfoBytes(
             "PhotoshopSettings", 0x8649, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoDirectory EXIF_TAG_EXIF_OFFSET = new 
TagInfoDirectory(
-            "ExifOffset", 0x8769, 1,
+            "ExifOffset", 0x8769,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_EXPOSURE_PROGRAM = new 
TagInfoShort(
-            "ExposureProgram", 0x8822, 1,
+            "ExposureProgram", 0x8822,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int EXPOSURE_PROGRAM_VALUE_MANUAL = 1;
     public static final int EXPOSURE_PROGRAM_VALUE_PROGRAM_AE = 2;
@@ -208,18 +213,18 @@ public final class ExifTagConstants {
             "SpectralSensitivity", 0x8824, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoDirectory EXIF_TAG_GPSINFO = new 
TagInfoDirectory(
-            "GPSInfo", 0x8825, 1,
+            "GPSInfo", 0x8825,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoShort EXIF_TAG_ISO = new TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_ISO = new TagInfoShorts(
             "PhotographicSensitivity", 0x8827, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUndefined EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR = 
new TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR = 
new TagInfoUndefineds(
             "Opto - Electric Conv Factor", 0x8828, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoLong EXIF_TAG_LEAF_SUB_IFD = new TagInfoLong(
-            "LeafSubIFD", 0x888a, 1,
+            "LeafSubIFD", 0x888a,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUndefined EXIF_TAG_EXIF_VERSION = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_EXIF_VERSION = new 
TagInfoUndefineds(
             "ExifVersion", 0x9000, 4,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_DATE_TIME_ORIGINAL = new 
TagInfoAscii(
@@ -227,32 +232,32 @@ public final class ExifTagConstants {
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_DATE_TIME_DIGITIZED = new 
TagInfoAscii(
             "DateTimeDigitized", 0x9004, 20, 
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUndefined EXIF_TAG_COMPONENTS_CONFIGURATION = 
new TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_COMPONENTS_CONFIGURATION = 
new TagInfoUndefineds(
             "ComponentsConfiguration", 0x9101, 4,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational EXIF_TAG_COMPRESSED_BITS_PER_PIXEL = 
new TagInfoRational(
-            "CompressedBitsPerPixel", 0x9102, 1,
+            "CompressedBitsPerPixel", 0x9102,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoSRational EXIF_TAG_SHUTTER_SPEED_VALUE = new 
TagInfoSRational(
-            "ShutterSpeedValue", 0x9201, 1,
+            "ShutterSpeedValue", 0x9201,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational EXIF_TAG_APERTURE_VALUE = new 
TagInfoRational(
-            "ApertureValue", 0x9202, 1,
+            "ApertureValue", 0x9202,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoSRational EXIF_TAG_BRIGHTNESS_VALUE = new 
TagInfoSRational(
-            "BrightnessValue", 0x9203, 1,
+            "BrightnessValue", 0x9203,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoSRational EXIF_TAG_EXPOSURE_COMPENSATION = new 
TagInfoSRational(
-            "ExposureCompensation", 0x9204, 1,
+            "ExposureCompensation", 0x9204,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational EXIF_TAG_MAX_APERTURE_VALUE = new 
TagInfoRational(
-            "MaxApertureValue", 0x9205, 1,
+            "MaxApertureValue", 0x9205,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoRational EXIF_TAG_SUBJECT_DISTANCE = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_SUBJECT_DISTANCE = new 
TagInfoRationals(
             "Subject Distance", 0x9206, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_METERING_MODE = new TagInfoShort(
-            "MeteringMode", 0x9207, 1,
+            "MeteringMode", 0x9207,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int METERING_MODE_VALUE_AVERAGE = 1;
     public static final int METERING_MODE_VALUE_CENTER_WEIGHTED_AVERAGE = 2;
@@ -262,7 +267,7 @@ public final class ExifTagConstants {
     public static final int METERING_MODE_VALUE_PARTIAL = 6;
     public static final int METERING_MODE_VALUE_OTHER = 255;
     public static final TagInfoShort EXIF_TAG_LIGHT_SOURCE = new TagInfoShort(
-            "LightSource", 0x9208, 1,
+            "LightSource", 0x9208,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int LIGHT_SOURCE_VALUE_DAYLIGHT = 1;
     public static final int LIGHT_SOURCE_VALUE_FLUORESCENT = 2;
@@ -285,7 +290,7 @@ public final class ExifTagConstants {
     public static final int LIGHT_SOURCE_VALUE_ISO_STUDIO_TUNGSTEN = 24;
     public static final int LIGHT_SOURCE_VALUE_OTHER = 255;
     public static final TagInfoShort EXIF_TAG_FLASH = new TagInfoShort(
-            "Flash", 0x9209, 1,
+            "Flash", 0x9209,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int FLASH_VALUE_NO_FLASH = 0x0;
     public static final int FLASH_VALUE_FIRED = 0x1;
@@ -314,20 +319,20 @@ public final class ExifTagConstants {
     public static final int FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION = 0x59;
     public static final int 
FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x5d;
     public static final int 
FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_DETECTED = 0x5f;
-    public static final TagInfoRational EXIF_TAG_FOCAL_LENGTH = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_FOCAL_LENGTH = new 
TagInfoRationals(
             "FocalLength", 0x920a, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoShort EXIF_TAG_SUBJECT_AREA = new TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_SUBJECT_AREA = new 
TagInfoShorts(
             "SubjectArea", 0x9214, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoDouble EXIF_TAG_STO_NITS = new TagInfoDouble(
-            "StoNits", 0x923f, 1,
+            "StoNits", 0x923f,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUndefined EXIF_TAG_MAKER_NOTE = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_MAKER_NOTE = new 
TagInfoUndefineds(
             "MakerNote", 0x927c, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoGpsText EXIF_TAG_USER_COMMENT = new 
TagInfoGpsText(
-            "UserComment", 0x9286, 1,
+            "UserComment", 0x9286,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_SUB_SEC_TIME = new TagInfoAscii(
             "SubSecTime", 0x9290, -1,
@@ -338,64 +343,64 @@ public final class ExifTagConstants {
     public static final TagInfoAscii EXIF_TAG_SUB_SEC_TIME_DIGITIZED = new 
TagInfoAscii(
             "SubSecTimeDigitized", 0x9292, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUndefined EXIF_TAG_FLASHPIX_VERSION = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_FLASHPIX_VERSION = new 
TagInfoUndefineds(
             "FlashpixVersion", 0xa000, 4,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_WIDTH = new 
TagInfoShort(
-            "ExifImageWidth", 0xa002, 1,
+            "ExifImageWidth", 0xa002,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_LENGTH = new 
TagInfoShort(
-            "ExifImageLength", 0xa003, 1,
+            "ExifImageLength", 0xa003,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_RELATED_SOUND_FILE = new 
TagInfoAscii(
             "RelatedSoundFile", 0xa004, 13,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoDirectory EXIF_TAG_INTEROP_OFFSET = new 
TagInfoDirectory(
-            "InteropOffset", 0xa005, 1,
+            "InteropOffset", 0xa005,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoRational EXIF_TAG_FLASH_ENERGY_EXIF_IFD = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_FLASH_ENERGY_EXIF_IFD = new 
TagInfoRationals(
             "FlashEnergy", 0xa20b, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUndefined EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2 
= new TagInfoUndefined(
+    public static final TagInfoUndefineds 
EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2 = new TagInfoUndefineds(
             "SpatialFrequencyResponse", 0xa20c, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_NOISE_2 = new TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_NOISE_2 = new TagInfoUnknowns(
             "Noise", 0xa20d, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoRational 
EXIF_TAG_FOCAL_PLANE_XRESOLUTION_EXIF_IFD = new TagInfoRational(
-            "FocalPlaneXResolution", 0xa20e, 1,
+            "FocalPlaneXResolution", 0xa20e,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational 
EXIF_TAG_FOCAL_PLANE_YRESOLUTION_EXIF_IFD = new TagInfoRational(
-            "FocalPlaneYResolution", 0xa20f, 1,
+            "FocalPlaneYResolution", 0xa20f,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort 
EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD = new TagInfoShort(
-            "FocalPlaneResolutionUnit", 0xa210, 1,
+            "FocalPlaneResolutionUnit", 0xa210,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_NONE = 
1;
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_INCHES 
= 2;
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_CM = 3;
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_MM = 4;
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_UM = 5;
-    public static final TagInfoUnknown EXIF_TAG_IMAGE_NUMBER = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_IMAGE_NUMBER = new 
TagInfoUnknowns(
             "ImageNumber", 0xa211, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_SECURITY_CLASSIFICATION = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_SECURITY_CLASSIFICATION = new 
TagInfoUnknowns(
             "SecurityClassification", 0xa212, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoUnknown EXIF_TAG_IMAGE_HISTORY = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_IMAGE_HISTORY = new 
TagInfoUnknowns(
             "ImageHistory", 0xa213, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
-    public static final TagInfoShort EXIF_TAG_SUBJECT_LOCATION = new 
TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_SUBJECT_LOCATION = new 
TagInfoShorts(
             "SubjectLocation", 0xa214, 2,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX_EXIF_IFD = new 
TagInfoRational(
-            "ExposureIndex", 0xa215, 1,
+            "ExposureIndex", 0xa215,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUnknown EXIF_TAG_TIFF_EPSTANDARD_ID_2 = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_TIFF_EPSTANDARD_ID_2 = new 
TagInfoUnknowns(
             "TIFF-EPStandardID", 0xa216, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_SENSING_METHOD_EXIF_IFD = new 
TagInfoShort(
-            "SensingMethod", 0xa217, 1,
+            "SensingMethod", 0xa217,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int SENSING_METHOD_EXIF_IFD_VALUE_NOT_DEFINED = 1;
     public static final int SENSING_METHOD_EXIF_IFD_VALUE_ONE_CHIP_COLOR_AREA 
= 2;
@@ -405,48 +410,48 @@ public final class ExifTagConstants {
     public static final int SENSING_METHOD_EXIF_IFD_VALUE_TRILINEAR = 7;
     public static final int 
SENSING_METHOD_EXIF_IFD_VALUE_COLOR_SEQUENTIAL_LINEAR = 8;
     public static final TagInfoUndefined EXIF_TAG_FILE_SOURCE = new 
TagInfoUndefined(
-            "FileSource", 0xa300, 1,
+            "FileSource", 0xa300,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int FILE_SOURCE_VALUE_FILM_SCANNER = 1;
     public static final int FILE_SOURCE_VALUE_REFLECTION_PRINT_SCANNER = 2;
     public static final int FILE_SOURCE_VALUE_DIGITAL_CAMERA = 3;
     public static final TagInfoUndefined EXIF_TAG_SCENE_TYPE = new 
TagInfoUndefined(
-            "SceneType", 0xa301, 1,
+            "SceneType", 0xa301,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUndefined EXIF_TAG_CFAPATTERN = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_CFAPATTERN = new 
TagInfoUndefineds(
             "CFAPattern", 0xa302, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_CUSTOM_RENDERED = new 
TagInfoShort(
-            "CustomRendered", 0xa401, 1,
+            "CustomRendered", 0xa401,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int CUSTOM_RENDERED_VALUE_NORMAL = 0;
     public static final int CUSTOM_RENDERED_VALUE_CUSTOM = 1;
     public static final TagInfoShort EXIF_TAG_EXPOSURE_MODE = new TagInfoShort(
-            "ExposureMode", 0xa402, 1,
+            "ExposureMode", 0xa402,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int EXPOSURE_MODE_VALUE_AUTO = 0;
     public static final int EXPOSURE_MODE_VALUE_MANUAL = 1;
     public static final int EXPOSURE_MODE_VALUE_AUTO_BRACKET = 2;
     public static final TagInfoShort EXIF_TAG_WHITE_BALANCE_1 = new 
TagInfoShort(
-            "WhiteBalance", 0xa403, 1,
+            "WhiteBalance", 0xa403,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int WHITE_BALANCE_1_VALUE_AUTO = 0;
     public static final int WHITE_BALANCE_1_VALUE_MANUAL = 1;
     public static final TagInfoRational EXIF_TAG_DIGITAL_ZOOM_RATIO = new 
TagInfoRational(
-            "DigitalZoomRatio", 0xa404, 1,
+            "DigitalZoomRatio", 0xa404,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_FOCAL_LENGTH_IN_35MM_FORMAT = 
new TagInfoShort(
-            "FocalLengthIn35mmFormat", 0xa405, 1,
+            "FocalLengthIn35mmFormat", 0xa405,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoShort EXIF_TAG_SCENE_CAPTURE_TYPE = new 
TagInfoShort(
-            "SceneCaptureType", 0xa406, 1,
+            "SceneCaptureType", 0xa406,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int SCENE_CAPTURE_TYPE_VALUE_STANDARD = 0;
     public static final int SCENE_CAPTURE_TYPE_VALUE_LANDSCAPE = 1;
     public static final int SCENE_CAPTURE_TYPE_VALUE_PORTRAIT = 2;
     public static final int SCENE_CAPTURE_TYPE_VALUE_NIGHT = 3;
     public static final TagInfoShort EXIF_TAG_GAIN_CONTROL = new TagInfoShort(
-            "GainControl", 0xa407, 1,
+            "GainControl", 0xa407,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int GAIN_CONTROL_VALUE_NONE = 0;
     public static final int GAIN_CONTROL_VALUE_LOW_GAIN_UP = 1;
@@ -454,28 +459,28 @@ public final class ExifTagConstants {
     public static final int GAIN_CONTROL_VALUE_LOW_GAIN_DOWN = 3;
     public static final int GAIN_CONTROL_VALUE_HIGH_GAIN_DOWN = 4;
     public static final TagInfoShort EXIF_TAG_CONTRAST_1 = new TagInfoShort(
-            "Contrast", 0xa408, 1,
+            "Contrast", 0xa408,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int CONTRAST_1_VALUE_NORMAL = 0;
     public static final int CONTRAST_1_VALUE_LOW = 1;
     public static final int CONTRAST_1_VALUE_HIGH = 2;
     public static final TagInfoShort EXIF_TAG_SATURATION_1 = new TagInfoShort(
-            "Saturation", 0xa409, 1,
+            "Saturation", 0xa409,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int SATURATION_1_VALUE_NORMAL = 0;
     public static final int SATURATION_1_VALUE_LOW = 1;
     public static final int SATURATION_1_VALUE_HIGH = 2;
     public static final TagInfoShort EXIF_TAG_SHARPNESS_1 = new TagInfoShort(
-            "Sharpness", 0xa40a, 1,
+            "Sharpness", 0xa40a,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int SHARPNESS_1_VALUE_NORMAL = 0;
     public static final int SHARPNESS_1_VALUE_SOFT = 1;
     public static final int SHARPNESS_1_VALUE_HARD = 2;
-    public static final TagInfoUndefined EXIF_TAG_DEVICE_SETTING_DESCRIPTION = 
new TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_DEVICE_SETTING_DESCRIPTION 
= new TagInfoUndefineds(
             "DeviceSettingDescription", 0xa40b, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoShort EXIF_TAG_SUBJECT_DISTANCE_RANGE = new 
TagInfoShort(
-            "SubjectDistanceRange", 0xa40c, 1,
+            "SubjectDistanceRange", 0xa40c,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final int SUBJECT_DISTANCE_RANGE_VALUE_MACRO = 1;
     public static final int SUBJECT_DISTANCE_RANGE_VALUE_CLOSE = 2;
@@ -489,7 +494,7 @@ public final class ExifTagConstants {
     public static final TagInfoAscii EXIF_TAG_BODY_SERIAL_NUMBER = new 
TagInfoAscii(
             "BodySerialNumber", 0xa431, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoRational EXIF_TAG_LENS_SPECIFICATION = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_LENS_SPECIFICATION = new 
TagInfoRationals(
             "LensSpecification", 0xa432, 4,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_LENS_MAKE = new TagInfoAscii(
@@ -502,16 +507,16 @@ public final class ExifTagConstants {
             "LensSerialNumber", 0xa435, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoRational EXIF_TAG_GAMMA = new TagInfoRational(
-            "Gamma", 0xa500, 1,
+            "Gamma", 0xa500,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
-    public static final TagInfoUnknown EXIF_TAG_ANNOTATIONS = new 
TagInfoUnknown(
+    public static final TagInfoUnknowns EXIF_TAG_ANNOTATIONS = new 
TagInfoUnknowns(
             "Annotations", 0xc44f, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final TagInfoUndefined EXIF_TAG_PRINT_IM = new 
TagInfoUndefined(
-            "PrintIM", 0xc4a5, 1,
+            "PrintIM", 0xc4a5,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
     public static final TagInfoSLong EXIF_TAG_OFFSET_SCHEMA = new TagInfoSLong(
-            "OffsetSchema", 0xea1d, 1,
+            "OffsetSchema", 0xea1d,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
     public static final TagInfoAscii EXIF_TAG_OWNER_NAME = new TagInfoAscii(
             "OwnerName", 0xfde8, -1,

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -22,8 +22,8 @@ import java.util.List;
 
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDouble;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDoubles;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
 
 /**
  * Geo Tiff.
@@ -32,27 +32,27 @@ import org.apache.commons.imaging.format
  */
 public final class GeoTiffTagConstants {
 
-    public static final TagInfoDouble EXIF_TAG_MODEL_PIXEL_SCALE_TAG = new 
TagInfoDouble(
+    public static final TagInfoDoubles EXIF_TAG_MODEL_PIXEL_SCALE_TAG = new 
TagInfoDoubles(
             "ModelPixelScaleTag", 0x830e, 3,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoDouble EXIF_TAG_INTERGRAPH_MATRIX_TAG = new 
TagInfoDouble(
+    public static final TagInfoDoubles EXIF_TAG_INTERGRAPH_MATRIX_TAG = new 
TagInfoDoubles(
             "IntergraphMatrixTag", 0x8480, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoDouble EXIF_TAG_MODEL_TIEPOINT_TAG = new 
TagInfoDouble(
+    public static final TagInfoDoubles EXIF_TAG_MODEL_TIEPOINT_TAG = new 
TagInfoDoubles(
             "ModelTiepointTag", 0x8482, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoDouble EXIF_TAG_MODEL_TRANSFORMATION_TAG = new 
TagInfoDouble(
+    public static final TagInfoDoubles EXIF_TAG_MODEL_TRANSFORMATION_TAG = new 
TagInfoDoubles(
             "ModelTransformationTag", 0x85d8, 16,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoShort EXIF_TAG_GEO_KEY_DIRECTORY_TAG = new 
TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_GEO_KEY_DIRECTORY_TAG = new 
TagInfoShorts(
             "GeoKeyDirectoryTag", 0x87af, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoDouble EXIF_TAG_GEO_DOUBLE_PARAMS_TAG = new 
TagInfoDouble(
+    public static final TagInfoDoubles EXIF_TAG_GEO_DOUBLE_PARAMS_TAG = new 
TagInfoDoubles(
             "GeoDoubleParamsTag", 0x87b0, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -23,13 +23,15 @@ import java.util.List;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoGpsText;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
 
 public final class GpsTagConstants {
 
-    public static final TagInfoByte GPS_TAG_GPS_VERSION_ID = new TagInfoByte(
+    public static final TagInfoBytes GPS_TAG_GPS_VERSION_ID = new TagInfoBytes(
             "GPSVersionID", 0x0000, 4,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
@@ -47,7 +49,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_LATITUDE_REF_VALUE_NORTH = "N";
     public static final String GPS_TAG_GPS_LATITUDE_REF_VALUE_SOUTH = "S";
     // ************************************************************
-    public static final TagInfoRational GPS_TAG_GPS_LATITUDE = new 
TagInfoRational(
+    public static final TagInfoRationals GPS_TAG_GPS_LATITUDE = new 
TagInfoRationals(
             "GPSLatitude", 0x0002, 3,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
@@ -59,24 +61,24 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_LONGITUDE_REF_VALUE_EAST = "E";
     public static final String GPS_TAG_GPS_LONGITUDE_REF_VALUE_WEST = "W";
     // ************************************************************
-    public static final TagInfoRational GPS_TAG_GPS_LONGITUDE = new 
TagInfoRational(
+    public static final TagInfoRationals GPS_TAG_GPS_LONGITUDE = new 
TagInfoRationals(
             "GPSLongitude", 0x0004, 3,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
     public static final TagInfoByte GPS_TAG_GPS_ALTITUDE_REF = new TagInfoByte(
-            "GPSAltitudeRef", 0x0005, 1,
+            "GPSAltitudeRef", 0x0005,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL = 0;
     public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_BELOW_SEA_LEVEL = 1;
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_ALTITUDE = new 
TagInfoRational(
-            "GPSAltitude", 0x0006, 1,
+            "GPSAltitude", 0x0006,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
-    public static final TagInfoRational GPS_TAG_GPS_TIME_STAMP = new 
TagInfoRational(
+    public static final TagInfoRationals GPS_TAG_GPS_TIME_STAMP = new 
TagInfoRationals(
             "GPSTimeStamp", 0x0007, 3,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
@@ -101,7 +103,7 @@ public final class GpsTagConstants {
     public static final int 
GPS_TAG_GPS_MEASURE_MODE_VALUE_3_DIMENSIONAL_MEASUREMENT = 3;
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_DOP = new TagInfoRational(
-            "GPSDOP", 0x000b, 1,
+            "GPSDOP", 0x000b,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -114,7 +116,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_SPEED_REF_VALUE_KNOTS = "N";
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_SPEED = new 
TagInfoRational(
-            "GPSSpeed", 0x000d, 1,
+            "GPSSpeed", 0x000d,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -126,7 +128,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_TRACK_REF_VALUE_TRUE_NORTH = "T";
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_TRACK = new 
TagInfoRational(
-            "GPSTrack", 0x000f, 1,
+            "GPSTrack", 0x000f,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -138,7 +140,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_TRUE_NORTH 
= "T";
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_IMG_DIRECTION = new 
TagInfoRational(
-            "GPSImgDirection", 0x0011, 1,
+            "GPSImgDirection", 0x0011,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -154,7 +156,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_DEST_LATITUDE_REF_VALUE_NORTH = "N";
     public static final String GPS_TAG_GPS_DEST_LATITUDE_REF_VALUE_SOUTH = "S";
     // ************************************************************
-    public static final TagInfoRational GPS_TAG_GPS_DEST_LATITUDE = new 
TagInfoRational(
+    public static final TagInfoRationals GPS_TAG_GPS_DEST_LATITUDE = new 
TagInfoRationals(
             "GPSDestLatitude", 0x0014, 3,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
@@ -166,7 +168,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_DEST_LONGITUDE_REF_VALUE_EAST = "E";
     public static final String GPS_TAG_GPS_DEST_LONGITUDE_REF_VALUE_WEST = "W";
     // ************************************************************
-    public static final TagInfoRational GPS_TAG_GPS_DEST_LONGITUDE = new 
TagInfoRational(
+    public static final TagInfoRationals GPS_TAG_GPS_DEST_LONGITUDE = new 
TagInfoRationals(
             "GPSDestLongitude", 0x0016, 3,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
@@ -179,7 +181,7 @@ public final class GpsTagConstants {
     public static final String GPS_TAG_GPS_DEST_BEARING_REF_VALUE_TRUE_NORTH = 
"T";
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_DEST_BEARING = new 
TagInfoRational(
-            "GPSDestBearing", 0x0018, 1,
+            "GPSDestBearing", 0x0018,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -192,17 +194,17 @@ public final class GpsTagConstants {
     public static final String 
GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_NAUTICAL_MILES = "N";
     // ************************************************************
     public static final TagInfoRational GPS_TAG_GPS_DEST_DISTANCE = new 
TagInfoRational(
-            "GPSDestDistance", 0x001a, 1,
+            "GPSDestDistance", 0x001a,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
     public static final TagInfoGpsText GPS_TAG_GPS_PROCESSING_METHOD = new 
TagInfoGpsText(
-            "GPSProcessingMethod", 0x001b, -1,
+            "GPSProcessingMethod", 0x001b,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
     public static final TagInfoGpsText GPS_TAG_GPS_AREA_INFORMATION = new 
TagInfoGpsText(
-            "GPSAreaInformation", 0x001c, -1,
+            "GPSAreaInformation", 0x001c,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     // ************************************************************
@@ -212,7 +214,7 @@ public final class GpsTagConstants {
 
     // ************************************************************
     public static final TagInfoShort GPS_TAG_GPS_DIFFERENTIAL = new 
TagInfoShort(
-            "GPSDifferential", 0x001e, 1,
+            "GPSDifferential", 0x001e,
             TiffDirectoryType.EXIF_DIRECTORY_GPS);
 
     public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_NO_CORRECTION = 0;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -27,7 +27,7 @@ import org.apache.commons.imaging.format
 public final class HylaFaxTagConstants {
 
     public static final TagInfoLong EXIF_TAG_FAX_RECV_PARAMS = new TagInfoLong(
-            "FaxRecvParams", 0x885c, 1,
+            "FaxRecvParams", 0x885c,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoAscii EXIF_TAG_FAX_SUB_ADDRESS = new 
TagInfoAscii(
@@ -35,7 +35,7 @@ public final class HylaFaxTagConstants {
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoLong EXIF_TAG_FAX_RECV_TIME = new TagInfoLong(
-            "FaxRecvTime", 0x885e, 1,
+            "FaxRecvTime", 0x885e,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoAscii EXIF_TAG_FAX_DCS = new TagInfoAscii(

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -23,9 +23,10 @@ import java.util.List;
 import org.apache.commons.imaging.common.BinaryConstant;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloat;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefined;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds;
 
 /**
  * Microsoft's HDP/WDP file format. 
@@ -37,7 +38,7 @@ public final class MicrosoftHdPhotoTagCo
      * Data1 (int), Data2 (short), Data3 (short) are little-endian,
      * Data4 (char[8]) is endian-independent.
      */
-    public static final TagInfoByte EXIF_TAG_PIXEL_FORMAT = new TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_PIXEL_FORMAT = new TagInfoBytes(
             "PixelFormat", 0xbc01, 16,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final BinaryConstant PIXEL_FORMAT_VALUE_BLACK_AND_WHITE =
@@ -152,7 +153,7 @@ public final class MicrosoftHdPhotoTagCo
             createMicrosoftHdPhotoGuidEndingWith((byte) 0x3f);
 
     public static final TagInfoLong EXIF_TAG_TRANSFOMATION = new TagInfoLong(
-            "Transfomation", 0xbc02, 1,
+            "Transfomation", 0xbc02,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int TRANSFOMATION_VALUE_HORIZONTAL_NORMAL = 0;
     public static final int TRANSFOMATION_VALUE_MIRROR_VERTICAL = 1;
@@ -164,51 +165,51 @@ public final class MicrosoftHdPhotoTagCo
     public static final int TRANSFOMATION_VALUE_ROTATE_270_CW = 7;
     
     public static final TagInfoLong EXIF_TAG_UNCOMPRESSED = new TagInfoLong(
-            "Uncompressed", 0xbc03, 1,
+            "Uncompressed", 0xbc03,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int UNCOMPRESSED_VALUE_NO = 0;
     public static final int UNCOMPRESSED_VALUE_YES = 1;
 
     public static final TagInfoLong EXIF_TAG_IMAGE_TYPE = new TagInfoLong(
-            "ImageType", 0xbc04, 1,
+            "ImageType", 0xbc04,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoLong EXIF_TAG_IMAGE_WIDTH = new TagInfoLong(
-            "ImageWidth", 0xbc80, 1,
+            "ImageWidth", 0xbc80,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoLong EXIF_TAG_IMAGE_HEIGHT = new TagInfoLong(
-            "ImageHeight", 0xbc81, 1,
+            "ImageHeight", 0xbc81,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoFloat EXIF_TAG_WIDTH_RESOLUTION = new 
TagInfoFloat(
-            "WidthResolution", 0xbc82, 1,
+            "WidthResolution", 0xbc82,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoFloat EXIF_TAG_HEIGHT_RESOLUTION = new 
TagInfoFloat(
-            "HeightResolution", 0xbc83, 1,
+            "HeightResolution", 0xbc83,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     // FIXME: might be an offset?
     public static final TagInfoLong EXIF_TAG_IMAGE_OFFSET = new TagInfoLong(
-            "ImageOffset", 0xbcc0, 1,
+            "ImageOffset", 0xbcc0,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoLong EXIF_TAG_IMAGE_BYTE_COUNT = new 
TagInfoLong(
-            "ImageByteCount", 0xbcc1, 1,
+            "ImageByteCount", 0xbcc1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     // FIXME: might be an offset?
     public static final TagInfoLong EXIF_TAG_ALPHA_OFFSET = new TagInfoLong(
-            "AlphaOffset", 0xbcc2, 1,
+            "AlphaOffset", 0xbcc2,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoLong EXIF_TAG_ALPHA_BYTE_COUNT = new 
TagInfoLong(
-            "AlphaByteCount", 0xbcc3, 1,
+            "AlphaByteCount", 0xbcc3,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoByte EXIF_TAG_IMAGE_DATA_DISCARD = new 
TagInfoByte(
-            "ImageDataDiscard", 0xbcc4, 1,
+            "ImageDataDiscard", 0xbcc4,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int IMAGE_DATA_DISCARD_VALUE_FULL_RESOLUTION = 0;
     public static final int IMAGE_DATA_DISCARD_VALUE_FLEXBITS_DISCARDED = 1;
@@ -216,14 +217,14 @@ public final class MicrosoftHdPhotoTagCo
     public static final int 
IMAGE_DATA_DISCARD_VALUE_HIGHPASS_AND_LOW_PASS_FREQUENCY_DATA_DISCARDED = 3;
 
     public static final TagInfoByte EXIF_TAG_ALPHA_DATA_DISCARD = new 
TagInfoByte(
-            "AlphaDataDiscard", 0xbcc5, 1,
+            "AlphaDataDiscard", 0xbcc5,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int ALPHA_DATA_DISCARD_VALUE_FULL_RESOLUTION = 0;
     public static final int ALPHA_DATA_DISCARD_VALUE_FLEXBITS_DISCARDED = 1;
     public static final int 
ALPHA_DATA_DISCARD_VALUE_HIGH_PASS_FREQUENCY_DATA_DISCARDED = 2;
     public static final int 
ALPHA_DATA_DISCARD_VALUE_HIGHPASS_AND_LOW_PASS_FREQUENCY_DATA_DISCARDED = 3;
 
-    public static final TagInfoUndefined EXIF_TAG_PADDING = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_PADDING = new 
TagInfoUndefineds(
             "Padding", 0xea1c, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -30,32 +30,27 @@ import org.apache.commons.imaging.format
 public final class MicrosoftTagConstants {
 
     public static final TagInfoShort EXIF_TAG_RATING = new TagInfoShort(
-            "Rating", 0x4746, 1,
+            "Rating", 0x4746,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoShort EXIF_TAG_RATING_PERCENT = new 
TagInfoShort(
-            "RatingPercent", 0x4749, 1,
+            "RatingPercent", 0x4749,
             TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoXpString EXIF_TAG_XPTITLE = new TagInfoXpString(
-            "XPTitle", 0x9c9b, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+            "XPTitle", 0x9c9b, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoXpString EXIF_TAG_XPCOMMENT = new 
TagInfoXpString(
-            "XPComment", 0x9c9c, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+            "XPComment", 0x9c9c, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoXpString EXIF_TAG_XPAUTHOR = new 
TagInfoXpString(
-            "XPAuthor", 0x9c9d, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+            "XPAuthor", 0x9c9d, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoXpString EXIF_TAG_XPKEYWORDS = new 
TagInfoXpString(
-            "XPKeywords", 0x9c9e, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+            "XPKeywords", 0x9c9e, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final TagInfoXpString EXIF_TAG_XPSUBJECT = new 
TagInfoXpString(
-            "XPSubject",  0x9c9f, -1,
-            TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+            "XPSubject",  0x9c9f, TiffDirectoryType.EXIF_DIRECTORY_IFD0);
 
     public static final List<TagInfo> ALL_MICROSOFT_TAGS =
             Collections.unmodifiableList(Arrays.asList(

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -24,7 +24,7 @@ import org.apache.commons.imaging.format
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
 
 /**
  * Molecular Dynamics GEL file format
@@ -34,14 +34,14 @@ import org.apache.commons.imaging.format
 public final class MolecularDynamicsGelTagConstants {
 
     public static final TagInfoLong EXIF_TAG_MD_FILE_TAG = new TagInfoLong(
-            "MD FileTag", 0x82a5, 1,
+            "MD FileTag", 0x82a5,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoRational EXIF_TAG_MD_SCALE_PIXEL = new 
TagInfoRational(
-            "MD ScalePixel", 0x82a6, 1,
+            "MD ScalePixel", 0x82a6,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoShort EXIF_TAG_MD_COLOR_TABLE = new 
TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_MD_COLOR_TABLE = new 
TagInfoShorts(
             "MD ColorTable", 0x82a7, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -22,11 +22,14 @@ import java.util.List;
 
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDirectory;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
 
 /**
  * RFC 2301: File Format for Internet Fax
@@ -44,7 +47,7 @@ public final class Rfc2301TagConstants {
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoShort TIFF_TAG_CLEAN_FAX_DATA = new 
TagInfoShort(
-            "CleanFaxData", 0x0147, 1,
+            "CleanFaxData", 0x0147,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int CLEAN_FAX_DATA_VALUE_CLEAN = 0;
     public static final int CLEAN_FAX_DATA_VALUE_REGENERATED = 1;
@@ -55,17 +58,17 @@ public final class Rfc2301TagConstants {
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoDirectory TIFF_TAG_GLOBAL_PARAMETERS_IFD = new 
TagInfoDirectory(
-            "GlobalParametersIFD", 0x0190, 1,
+            "GlobalParametersIFD", 0x0190,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoLong TIFF_TAG_PROFILE_TYPE = new TagInfoLong(
-            "ProfileType", 0x0191, 1,
+            "ProfileType", 0x0191,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int PROFILE_TYPE_VALUE_UNSPECIFIED = 0;
     public static final int PROFILE_TYPE_VALUE_GROUP_3_FAX = 1;
     
     public static final TagInfoByte TIFF_TAG_FAX_PROFILE = new TagInfoByte(
-            "FaxProfile", 0x0192, 1,
+            "FaxProfile", 0x0192,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int FAX_PROFILE_VALUE_UNKNOWN = 0;
     public static final int FAX_PROFILE_VALUE_MINIMAL_B_AND_W_LOSSLESS_S = 1;
@@ -76,7 +79,7 @@ public final class Rfc2301TagConstants {
     public static final int FAX_PROFILE_VALUE_MIXED_RASTER_CONTENT_M = 6;
     
     public static final TagInfoLong TIFF_TAG_CODING_METHODS = new TagInfoLong(
-            "CodingMethods", 0x0193, 1,
+            "CodingMethods", 0x0193,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int CODING_METHODS_VALUE_T4_1D = 2;
     public static final int CODING_METHODS_VALUE_T4_2D = 4;
@@ -85,23 +88,23 @@ public final class Rfc2301TagConstants {
     public static final int CODING_METHODS_VALUE_T81 = 32;
     public static final int CODING_METHODS_VALUE_T82_T43 = 64;
     
-    public static final TagInfoByte TIFF_TAG_VERSION_YEAR = new TagInfoByte(
+    public static final TagInfoBytes TIFF_TAG_VERSION_YEAR = new TagInfoBytes(
             "VersionYear", 0x0194, 4,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoByte TIFF_TAG_MODE_NUMBER = new TagInfoByte(
-            "ModeNumber", 0x0195, 1,
+            "ModeNumber", 0x0195,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoRational TIFF_TAG_DECODE = new TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_DECODE = new 
TagInfoRationals(
             "Decode", 0x01b1, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
-    public static final TagInfoShort TIFF_TAG_DEFAULT_IMAGE_COLOR = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_DEFAULT_IMAGE_COLOR = new 
TagInfoShorts(
             "DefaultImageColor", 0x01b2, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoLong TIFF_TAG_STRIP_ROW_COUNTS = new 
TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_STRIP_ROW_COUNTS = new 
TagInfoLongs(
             "StripRowCounts", 0x022f, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -31,7 +31,7 @@ import org.apache.commons.imaging.format
 public final class Tiff4TagConstants {
 
     public static final TagInfoShort TIFF_TAG_COLOR_RESPONSE_UNIT = new 
TagInfoShort(
-            "ColorResponseUnit", 0x12C, 1,
+            "ColorResponseUnit", 0x12C,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int COLOR_RESPONSE_UNIT_VALUE_0_1 = 1;
     public static final int COLOR_RESPONSE_UNIT_VALUE_0_01 = 2;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -23,23 +23,25 @@ import java.util.List;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAsciiOrRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShorts;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefined;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds;
 
 /**
  * 
  */
 public final class TiffEpTagConstants {
 
-    public static final TagInfoShort EXIF_TAG_CFAREPEAT_PATTERN_DIM = new 
TagInfoShort(
+    public static final TagInfoShorts EXIF_TAG_CFAREPEAT_PATTERN_DIM = new 
TagInfoShorts(
             "CFARepeatPatternDim", 0x828d, 2,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
-    public static final TagInfoByte EXIF_TAG_CFAPATTERN_2 = new TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_CFAPATTERN_2 = new TagInfoBytes(
             "CFAPattern2", 0x828e, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
@@ -47,44 +49,44 @@ public final class TiffEpTagConstants {
             "BatteryLevel", 0x828f, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     
-    public static final TagInfoUndefined EXIF_TAG_INTER_COLOR_PROFILE = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_INTER_COLOR_PROFILE = new 
TagInfoUndefineds(
             "InterColorProfile", 0x8773, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoShort EXIF_TAG_INTERLACE = new TagInfoShort(
-            "Interlace", 0x8829, 1,
+            "Interlace", 0x8829,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoSShort EXIF_TAG_TIME_ZONE_OFFSET = new 
TagInfoSShort(
+    public static final TagInfoSShorts EXIF_TAG_TIME_ZONE_OFFSET = new 
TagInfoSShorts(
             "TimeZoneOffset", 0x882a, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
 
     public static final TagInfoShort EXIF_TAG_SELF_TIMER_MODE = new 
TagInfoShort(
-            "SelfTimerMode", 0x882b, 1,
+            "SelfTimerMode", 0x882b,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
 
-    public static final TagInfoRational EXIF_TAG_FLASH_ENERGY = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_FLASH_ENERGY = new 
TagInfoRationals(
             "FlashEnergy", 0x920b, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
-    public static final TagInfoUndefined EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1 
= new TagInfoUndefined(
+    public static final TagInfoUndefineds 
EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1 = new TagInfoUndefineds(
             "SpatialFrequencyResponse", 0x920c, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
-    public static final TagInfoUndefined EXIF_TAG_NOISE_1 = new 
TagInfoUndefined(
+    public static final TagInfoUndefineds EXIF_TAG_NOISE_1 = new 
TagInfoUndefineds(
             "Noise", 0x920d, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_XRESOLUTION = new 
TagInfoRational(
-            "FocalPlaneXResolution", 0x920e, 1,
+            "FocalPlaneXResolution", 0x920e,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_YRESOLUTION = new 
TagInfoRational(
-            "FocalPlaneYResolution", 0x920f, 1,
+            "FocalPlaneYResolution", 0x920f,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
     public static final TagInfoShort EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT = 
new TagInfoShort(
-            "FocalPlaneResolutionUnit", 0x9210, 1,
+            "FocalPlaneResolutionUnit", 0x9210,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_NONE = 1;
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCHES = 2;
@@ -93,7 +95,7 @@ public final class TiffEpTagConstants {
     public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_UM = 5;
 
     public static final TagInfoLong EXIF_TAG_IMAGE_NUMBER_EXIF_IFD = new 
TagInfoLong(
-            "ImageNumber", 0x9211, 1,
+            "ImageNumber", 0x9211,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
 
     public static final TagInfoAscii EXIF_TAG_SECURITY_CLASSIFICATION_EXIF_IFD 
= new TagInfoAscii(
@@ -104,16 +106,16 @@ public final class TiffEpTagConstants {
             "ImageHistory", 0x9213, -1,
             TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
 
-    public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX = new 
TagInfoRational(
+    public static final TagInfoRationals EXIF_TAG_EXPOSURE_INDEX = new 
TagInfoRationals(
             "ExposureIndex", 0x9215, -1,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     
-    public static final TagInfoByte EXIF_TAG_TIFF_EPSTANDARD_ID_1 = new 
TagInfoByte(
+    public static final TagInfoBytes EXIF_TAG_TIFF_EPSTANDARD_ID_1 = new 
TagInfoBytes(
             "TIFF/EPStandardID", 0x9216, 4,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 
     public static final TagInfoShort EXIF_TAG_SENSING_METHOD = new 
TagInfoShort(
-            "SensingMethod", 0x9217, 1,
+            "SensingMethod", 0x9217,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
     public static final int SENSING_METHOD_VALUE_MONOCHROME_AREA = 1;
     public static final int SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA = 2;

Modified: 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java
URL: 
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
--- 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java
 (original)
+++ 
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java
 Wed Sep 14 23:25:47 2016
@@ -23,13 +23,16 @@ import java.util.List;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAny;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByteOrShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknown;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknowns;
 
 /**
  * Tags from the TIFF6 specification.
@@ -39,7 +42,7 @@ import org.apache.commons.imaging.format
 public final class TiffTagConstants {
 
     public static final TagInfoLong TIFF_TAG_NEW_SUBFILE_TYPE = new 
TagInfoLong(
-            "NewSubfileType", 0xFE, 1,
+            "NewSubfileType", 0xFE,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 0;
     public static final int SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 1;
@@ -51,7 +54,7 @@ public final class TiffTagConstants {
     public static final int 
SUBFILE_TYPE_VALUE_TRANSPARENCY_MASK_OF_REDUCED_RESOLUTION_MULTI_PAGE_IMAGE = 7;
 
     public static final TagInfoShort TIFF_TAG_SUBFILE_TYPE = new TagInfoShort(
-            "SubfileType", 0xFF, 1,
+            "SubfileType", 0xFF,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int OLD_SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 1;
     public static final int OLD_SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 
2;
@@ -65,12 +68,12 @@ public final class TiffTagConstants {
             "ImageLength", 0x101, 1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_BITS_PER_SAMPLE = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_BITS_PER_SAMPLE = new 
TagInfoShorts(
             "BitsPerSample", 0x102, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_COMPRESSION = new TagInfoShort(
-            "Compression", 0x103, 1,
+            "Compression", 0x103,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int COMPRESSION_VALUE_UNCOMPRESSED = 1;
     public static final int COMPRESSION_VALUE_CCITT_1D = 2;
@@ -104,7 +107,7 @@ public final class TiffTagConstants {
     public static final int COMPRESSION_VALUE_PENTAX_PEF_COMPRESSED = 65535;
 
     public static final TagInfoShort TIFF_TAG_PHOTOMETRIC_INTERPRETATION = new 
TagInfoShort(
-            "PhotometricInterpretation", 0x106, 1,
+            "PhotometricInterpretation", 0x106,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int PHOTOMETRIC_INTERPRETATION_VALUE_WHITE_IS_ZERO = 0;
     public static final int PHOTOMETRIC_INTERPRETATION_VALUE_BLACK_IS_ZERO = 1;
@@ -122,22 +125,22 @@ public final class TiffTagConstants {
     public static final int PHOTOMETRIC_INTERPRETATION_VALUE_LINEAR_RAW = 
34892;
 
     public static final TagInfoShort TIFF_TAG_THRESHHOLDING = new TagInfoShort(
-            "Threshholding", 0x107, 1,
+            "Threshholding", 0x107,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int THRESHOLDING_VALUE_NO_DITHERING_OR_HALFTONING = 1;
     public static final int THRESHOLDING_VALUE_ORDERED_DITHER_OR_HALFTONE = 2;
     public static final int THRESHOLDING_VALUE_RANDOMIZED_DITHER = 3;
 
     public static final TagInfoShort TIFF_TAG_CELL_WIDTH = new TagInfoShort(
-            "CellWidth", 0x108, 1,
+            "CellWidth", 0x108,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_CELL_LENGTH = new TagInfoShort(
-            "CellLength", 0x109, 1,
+            "CellLength", 0x109,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_FILL_ORDER = new TagInfoShort(
-            "FillOrder", 0x10A, 1,
+            "FillOrder", 0x10A,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int FILL_ORDER_VALUE_NORMAL = 1;
     public static final int FILL_ORDER_VALUE_REVERSED = 2;
@@ -163,7 +166,7 @@ public final class TiffTagConstants {
             TiffDirectoryType.TIFF_DIRECTORY_ROOT, true);
 
     public static final TagInfoShort TIFF_TAG_ORIENTATION = new TagInfoShort(
-            "Orientation", 0x112, 1,
+            "Orientation", 0x112,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int ORIENTATION_VALUE_HORIZONTAL_NORMAL = 1;
     public static final int ORIENTATION_VALUE_MIRROR_HORIZONTAL = 2;
@@ -175,7 +178,7 @@ public final class TiffTagConstants {
     public static final int ORIENTATION_VALUE_ROTATE_270_CW = 8;
 
     public static final TagInfoShort TIFF_TAG_SAMPLES_PER_PIXEL = new 
TagInfoShort(
-            "SamplesPerPixel", 0x115, 1,
+            "SamplesPerPixel", 0x115,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShortOrLong TIFF_TAG_ROWS_PER_STRIP = new 
TagInfoShortOrLong(
@@ -186,24 +189,24 @@ public final class TiffTagConstants {
             "StripByteCounts", 0x117, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_MIN_SAMPLE_VALUE = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_MIN_SAMPLE_VALUE = new 
TagInfoShorts(
             "MinSampleValue", 0x118, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_MAX_SAMPLE_VALUE = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_MAX_SAMPLE_VALUE = new 
TagInfoShorts(
             "MaxSampleValue", 0x119, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoRational TIFF_TAG_XRESOLUTION = new 
TagInfoRational(
-            "XResolution", 0x11A, 1,
+            "XResolution", 0x11A,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoRational TIFF_TAG_YRESOLUTION = new 
TagInfoRational(
-            "YResolution", 0x11B, 1,
+            "YResolution", 0x11B,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_PLANAR_CONFIGURATION = new 
TagInfoShort(
-            "PlanarConfiguration", 0x11C, 1,
+            "PlanarConfiguration", 0x11C,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int PLANAR_CONFIGURATION_VALUE_CHUNKY = 1;
     public static final int PLANAR_CONFIGURATION_VALUE_PLANAR = 2;
@@ -212,24 +215,24 @@ public final class TiffTagConstants {
             "PageName", 0x11D, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoRational TIFF_TAG_XPOSITION = new 
TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_XPOSITION = new 
TagInfoRationals(
             "XPosition", 0x11E, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoRational TIFF_TAG_YPOSITION = new 
TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_YPOSITION = new 
TagInfoRationals(
             "YPosition",  0x11F, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_FREE_OFFSETS = new TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_FREE_OFFSETS = new TagInfoLongs(
             "FreeOffsets", 0x120, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_FREE_BYTE_COUNTS = new 
TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_FREE_BYTE_COUNTS = new 
TagInfoLongs(
             "FreeByteCounts", 0x121, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_GRAY_RESPONSE_UNIT = new 
TagInfoShort(
-            "GrayResponseUnit", 0x122, 1,
+            "GrayResponseUnit", 0x122,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int GRAY_RESPONSE_UNIT_VALUE_0_1 = 1;
     public static final int GRAY_RESPONSE_UNIT_VALUE_0_01 = 2;
@@ -237,30 +240,30 @@ public final class TiffTagConstants {
     public static final int GRAY_RESPONSE_UNIT_VALUE_0_0001 = 4;
     public static final int GRAY_RESPONSE_UNIT_VALUE_0_00001 = 5;
 
-    public static final TagInfoShort TIFF_TAG_GRAY_RESPONSE_CURVE = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_GRAY_RESPONSE_CURVE = new 
TagInfoShorts(
             "GrayResponseCurve", 0x123, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoLong TIFF_TAG_T4_OPTIONS = new TagInfoLong(
-            "T4Options", 0x124, 1,
+            "T4Options", 0x124,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoLong TIFF_TAG_T6_OPTIONS = new TagInfoLong(
-            "T6Options", 0x125, 1,
+            "T6Options", 0x125,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_RESOLUTION_UNIT = new 
TagInfoShort(
-            "ResolutionUnit", 0x128, 1,
+            "ResolutionUnit", 0x128,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int RESOLUTION_UNIT_VALUE_NONE = 1;
     public static final int RESOLUTION_UNIT_VALUE_INCHES = 2;
     public static final int RESOLUTION_UNIT_VALUE_CM = 3;
 
-    public static final TagInfoShort TIFF_TAG_PAGE_NUMBER = new TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_PAGE_NUMBER = new TagInfoShorts(
             "PageNumber", 0x129, 2,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_TRANSFER_FUNCTION = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_TRANSFER_FUNCTION = new 
TagInfoShorts(
             "TransferFunction", 0x12D, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
@@ -281,24 +284,24 @@ public final class TiffTagConstants {
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_PREDICTOR = new TagInfoShort(
-            "Predictor", 0x13D, 1,
+            "Predictor", 0x13D,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int PREDICTOR_VALUE_NONE = 1;
     public static final int PREDICTOR_VALUE_HORIZONTAL_DIFFERENCING = 2;
 
-    public static final TagInfoRational TIFF_TAG_WHITE_POINT = new 
TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_WHITE_POINT = new 
TagInfoRationals(
             "WhitePoint", 0x13E, 2,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoRational TIFF_TAG_PRIMARY_CHROMATICITIES = new 
TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_PRIMARY_CHROMATICITIES = new 
TagInfoRationals(
             "PrimaryChromaticities", 0x13F, 6,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_COLOR_MAP = new TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_COLOR_MAP = new TagInfoShorts(
             "ColorMap", 0x140, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_HALFTONE_HINTS = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_HALFTONE_HINTS = new 
TagInfoShorts(
             "HalftoneHints", 0x141, 2,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
@@ -310,7 +313,7 @@ public final class TiffTagConstants {
             "TileLength", 0x143, 1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_TILE_OFFSETS = new TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_TILE_OFFSETS = new TagInfoLongs(
             "TileOffsets", 0x144, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT, true);
 
@@ -319,7 +322,7 @@ public final class TiffTagConstants {
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_INK_SET = new TagInfoShort(
-            "InkSet", 0x14C, 1,
+            "InkSet", 0x14C,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int INK_SET_VALUE_CMYK = 1;
     public static final int INK_SET_VALUE_NOT_CMYK = 2;
@@ -329,7 +332,7 @@ public final class TiffTagConstants {
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_NUMBER_OF_INKS = new 
TagInfoShort(
-            "NumberOfInks", 0x14E, 1,
+            "NumberOfInks", 0x14E,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoByteOrShort TIFF_TAG_DOT_RANGE = new 
TagInfoByteOrShort(
@@ -340,11 +343,11 @@ public final class TiffTagConstants {
             "TargetPrinter", 0x151, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_EXTRA_SAMPLES = new TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_EXTRA_SAMPLES = new 
TagInfoShorts(
             "ExtraSamples", 0x152, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_SAMPLE_FORMAT = new TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_SAMPLE_FORMAT = new 
TagInfoShorts(
             "SampleFormat", 0x153, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int SAMPLE_FORMAT_VALUE_UNSIGNED_INTEGER = 1;
@@ -362,63 +365,63 @@ public final class TiffTagConstants {
             "SMaxSampleValue", 0x155, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_TRANSFER_RANGE = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_TRANSFER_RANGE = new 
TagInfoShorts(
             "TransferRange", 0x156, 6,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_JPEG_PROC = new TagInfoShort(
-            "JPEGProc", 0x200, 1,
+            "JPEGProc", 0x200,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int JPEGPROC_VALUE_BASELINE = 1;
     public static final int JPEGPROC_VALUE_LOSSLESS = 14;
 
     public static final TagInfoLong TIFF_TAG_JPEG_INTERCHANGE_FORMAT = new 
TagInfoLong(
-            "JPEGInterchangeFormat", 0x201, 1,
+            "JPEGInterchangeFormat", 0x201,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT, true);
 
     public static final TagInfoLong TIFF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = 
new TagInfoLong(
             "JPEGInterchangeFormatLength", 0x202,
-            1, TiffDirectoryType.TIFF_DIRECTORY_ROOT);
+            TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_JPEG_RESTART_INTERVAL = new 
TagInfoShort(
-            "JPEGRestartInterval", 0x203, 1,
+            "JPEGRestartInterval", 0x203,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_JPEG_LOSSLESS_PREDICTORS = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_JPEG_LOSSLESS_PREDICTORS = new 
TagInfoShorts(
             "JPEGLosslessPredictors", 0x205, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_JPEG_POINT_TRANSFORMS = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_JPEG_POINT_TRANSFORMS = new 
TagInfoShorts(
             "JPEGPointTransforms", 0x206, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_JPEG_QTABLES = new TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_JPEG_QTABLES = new TagInfoLongs(
             "JPEGQTables", 0x207, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_JPEG_DCTABLES = new TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_JPEG_DCTABLES = new TagInfoLongs(
             "JPEGDCTables", 0x208, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoLong TIFF_TAG_JPEG_ACTABLES = new TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_JPEG_ACTABLES = new TagInfoLongs(
             "JPEGACTables", 0x209, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoRational TIFF_TAG_YCBCR_COEFFICIENTS = new 
TagInfoRational(
+    public static final TagInfoRationals TIFF_TAG_YCBCR_COEFFICIENTS = new 
TagInfoRationals(
             "YCbCrCoefficients", 0x211, 3,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoShort TIFF_TAG_YCBCR_SUB_SAMPLING = new 
TagInfoShort(
+    public static final TagInfoShorts TIFF_TAG_YCBCR_SUB_SAMPLING = new 
TagInfoShorts(
             "YCbCrSubSampling", 0x212, 2,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     public static final TagInfoShort TIFF_TAG_YCBCR_POSITIONING = new 
TagInfoShort(
-            "YCbCrPositioning", 0x213, 1,
+            "YCbCrPositioning", 0x213,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
     public static final int YCB_CR_POSITIONING_VALUE_CENTERED = 1;
     public static final int YCB_CR_POSITIONING_VALUE_CO_SITED = 2;
 
-    public static final TagInfoLong TIFF_TAG_REFERENCE_BLACK_WHITE = new 
TagInfoLong(
+    public static final TagInfoLongs TIFF_TAG_REFERENCE_BLACK_WHITE = new 
TagInfoLongs(
             "ReferenceBlackWhite", 0x214, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
@@ -426,13 +429,13 @@ public final class TiffTagConstants {
             "Copyright", 0x8298, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
-    public static final TagInfoByte TIFF_TAG_XMP = new TagInfoByte(
+    public static final TagInfoBytes TIFF_TAG_XMP = new TagInfoBytes(
             "XMP", 0x2BC, -1,
             TiffDirectoryType.TIFF_DIRECTORY_ROOT);
 
     // TODO:
     //    public static final TagInfo2 TIFF_TAG_UNKNOWN = null;
-    public static final TagInfo TIFF_TAG_UNKNOWN = new TagInfoUnknown(
+    public static final TagInfoUnknowns TIFF_TAG_UNKNOWN = new TagInfoUnknowns(
             "Unknown Tag", -1, TagInfo.LENGTH_UNKNOWN,
             TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
 



Reply via email to