You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sanselan-commits@incubator.apache.org by cm...@apache.org on 2007/12/29 06:48:53 UTC

svn commit: r607388 [4/8] - in /incubator/sanselan/trunk/src: main/java/org/apache/sanselan/ main/java/org/apache/sanselan/common/ main/java/org/apache/sanselan/common/mylzw/ main/java/org/apache/sanselan/formats/bmp/ main/java/org/apache/sanselan/form...

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/ExifTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,222 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface GPSTagConstants
+		extends
+			TiffDirectoryConstants,
+			TiffFieldTypeConstants
+{
+	public static final TagInfo2 GPS_TAG_GPS_VERSION_ID = new TagInfo2(
+			"GPS Version ID", 0x0000, FIELD_TYPE_DESCRIPTION_BYTE, 4,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_LATITUDE_REF = new TagInfo2(
+			"GPS Latitude Ref", 0x0001, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	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 TagInfo2 GPS_TAG_GPS_LATITUDE = new TagInfo2(
+			"GPS Latitude", 0x0002, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_LONGITUDE_REF = new TagInfo2(
+			"GPS Longitude Ref", 0x0003, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	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 TagInfo2 GPS_TAG_GPS_LONGITUDE = new TagInfo2(
+			"GPS Longitude", 0x0004, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_ALTITUDE_REF = new TagInfo2(
+			"GPS Altitude Ref", 0x0005, FIELD_TYPE_DESCRIPTION_BYTE, -1,
+			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 TagInfo2 GPS_TAG_GPS_ALTITUDE = new TagInfo2(
+			"GPS Altitude", 0x0006, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_TIME_STAMP = new TagInfo2(
+			"GPS Time Stamp", 0x0007, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_SATELLITES = new TagInfo2(
+			"GPS Satellites", 0x0008, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_STATUS = new TagInfo2(
+			"GPS Status", 0x0009, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_STATUS_VALUE_MEASUREMENT_IN_PROGRESS = "A";
+	public static final String GPS_TAG_GPS_STATUS_VALUE_MEASUREMENT_INTEROPERABILITY = "V";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_MEASURE_MODE = new TagInfo2(
+			"GPS Measure Mode", 0x000a, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_2_DIMENSIONAL_MEASUREMENT = 2;
+	public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_3_DIMENSIONAL_MEASUREMENT = 3;
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DOP = new TagInfo2("GPS DOP",
+			0x000b, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_SPEED_REF = new TagInfo2(
+			"GPS Speed Ref", 0x000c, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_SPEED_REF_VALUE_KMPH = "K";
+	public static final String GPS_TAG_GPS_SPEED_REF_VALUE_MPH = "M";
+	public static final String GPS_TAG_GPS_SPEED_REF_VALUE_KNOTS = "N";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_SPEED = new TagInfo2("GPS Speed",
+			0x000d, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_TRACK_REF = new TagInfo2(
+			"GPS Track Ref", 0x000e, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_TRACK_REF_VALUE_MAGNETIC_NORTH = "M";
+	public static final String GPS_TAG_GPS_TRACK_REF_VALUE_TRUE_NORTH = "T";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_TRACK = new TagInfo2("GPS Track",
+			0x000f, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_IMG_DIRECTION_REF = new TagInfo2(
+			"GPS Img Direction Ref", 0x0010, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_MAGNETIC_NORTH = "M";
+	public static final String GPS_TAG_GPS_IMG_DIRECTION_REF_VALUE_TRUE_NORTH = "T";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_IMG_DIRECTION = new TagInfo2(
+			"GPS Img Direction", 0x0011, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_MAP_DATUM = new TagInfo2(
+			"GPS Map Datum", 0x0012, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_LATITUDE_REF = new TagInfo2(
+			"GPS Dest Latitude Ref", 0x0013, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	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 TagInfo2 GPS_TAG_GPS_DEST_LATITUDE = new TagInfo2(
+			"GPS Dest Latitude", 0x0014, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_LONGITUDE_REF = new TagInfo2(
+			"GPS Dest Longitude Ref", 0x0015, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	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 TagInfo2 GPS_TAG_GPS_DEST_LONGITUDE = new TagInfo2(
+			"GPS Dest Longitude", 0x0016, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_BEARING_REF = new TagInfo2(
+			"GPS Dest Bearing Ref", 0x0017, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_DEST_BEARING_REF_VALUE_MAGNETIC_NORTH = "M";
+	public static final String GPS_TAG_GPS_DEST_BEARING_REF_VALUE_TRUE_NORTH = "T";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_BEARING = new TagInfo2(
+			"GPS Dest Bearing", 0x0018, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_DISTANCE_REF = new TagInfo2(
+			"GPS Dest Distance Ref", 0x0019, FIELD_TYPE_DESCRIPTION_ASCII, 2,
+			EXIF_DIRECTORY_GPS);
+
+	public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_KILOMETERS = "K";
+	public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_MILES = "M";
+	public static final String GPS_TAG_GPS_DEST_DISTANCE_REF_VALUE_NAUTICAL_MILES = "N";
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DEST_DISTANCE = new TagInfo2(
+			"GPS Dest Distance", 0x001a, FIELD_TYPE_DESCRIPTION_RATIONAL, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_PROCESSING_METHOD = new TagInfo2(
+			"GPS Processing Method", 0x001b, FIELD_TYPE_DESCRIPTION_UNKNOWN,
+			-1, EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_AREA_INFORMATION = new TagInfo2(
+			"GPS Area Information", 0x001c, FIELD_TYPE_DESCRIPTION_UNKNOWN, -1,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DATE_STAMP = new TagInfo2(
+			"GPS Date Stamp", 0x001d, FIELD_TYPE_DESCRIPTION_ASCII, 11,
+			EXIF_DIRECTORY_GPS);
+
+	// ************************************************************
+	public static final TagInfo2 GPS_TAG_GPS_DIFFERENTIAL = new TagInfo2(
+			"GPS Differential", 0x001e, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			EXIF_DIRECTORY_GPS);
+
+	public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_NO_CORRECTION = 0;
+	public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_DIFFERENTIAL_CORRECTED = 1;
+	// ************************************************************
+
+	public static final TagInfo2 ALL_GPS_TAGS[] = {
+			GPS_TAG_GPS_VERSION_ID, GPS_TAG_GPS_LATITUDE_REF,
+			GPS_TAG_GPS_LATITUDE, GPS_TAG_GPS_LONGITUDE_REF,
+			GPS_TAG_GPS_LONGITUDE, GPS_TAG_GPS_ALTITUDE_REF,
+			GPS_TAG_GPS_ALTITUDE, GPS_TAG_GPS_TIME_STAMP,
+			GPS_TAG_GPS_SATELLITES, GPS_TAG_GPS_STATUS,
+			GPS_TAG_GPS_MEASURE_MODE, GPS_TAG_GPS_DOP, GPS_TAG_GPS_SPEED_REF,
+			GPS_TAG_GPS_SPEED, GPS_TAG_GPS_TRACK_REF, GPS_TAG_GPS_TRACK,
+			GPS_TAG_GPS_IMG_DIRECTION_REF, GPS_TAG_GPS_IMG_DIRECTION,
+			GPS_TAG_GPS_MAP_DATUM, GPS_TAG_GPS_DEST_LATITUDE_REF,
+			GPS_TAG_GPS_DEST_LATITUDE, GPS_TAG_GPS_DEST_LONGITUDE_REF,
+			GPS_TAG_GPS_DEST_LONGITUDE, GPS_TAG_GPS_DEST_BEARING_REF,
+			GPS_TAG_GPS_DEST_BEARING, GPS_TAG_GPS_DEST_DISTANCE_REF,
+			GPS_TAG_GPS_DEST_DISTANCE, GPS_TAG_GPS_PROCESSING_METHOD,
+			GPS_TAG_GPS_AREA_INFORMATION, GPS_TAG_GPS_DATE_STAMP,
+			GPS_TAG_GPS_DIFFERENTIAL,
+	};
+}

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public class TagConstantsUtils
+{
+
+	public static TagInfo2[] mergeTagLists(TagInfo2 lists[][])
+	{
+		int count = 0;
+		for (int i = 0; i < lists.length; i++)
+			count += lists[i].length;
+
+		TagInfo2 result[] = new TagInfo2[count];
+
+		int index = 0;
+		for (int i = 0; i < lists.length; i++)
+		{
+			System.arraycopy(lists[i], 0, result, index, lists[i].length);
+			index += lists[i].length;
+		}
+
+		return result;
+	}
+
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,146 @@
+/**
+ * 
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.apache.sanselan.formats.tiff.TiffField;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.sanselan.util.Debug;
+
+public class TagInfo2 implements TiffDirectoryConstants
+{
+	protected static final int LENGTH_UNKNOWN = -1;
+
+	public TagInfo2(String name, int tag, FieldType dataType, int length,
+			ExifDirectoryType exifDirectory)
+	{
+		this(name, tag, new FieldType[]{
+			dataType
+		}, length, exifDirectory);
+	}
+
+	public TagInfo2(String name, int tag, FieldType dataType, int length)
+	{
+		this(name, tag, new FieldType[]{
+			dataType
+		}, length, EXIF_DIRECTORY_UNKNOWN);
+	}
+
+	public TagInfo2(String name, int tag, FieldType dataType,
+			String lengthDescription)
+	{
+		this(name, tag, new FieldType[]{
+			dataType
+		}, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+	}
+
+	public TagInfo2(String name, int tag, FieldType dataTypes[],
+			String lengthDescription)
+	{
+		this(name, tag, dataTypes, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+	}
+
+	public TagInfo2(String name, int tag, FieldType dataType)
+	{
+		this(name, tag, dataType, LENGTH_UNKNOWN, EXIF_DIRECTORY_UNKNOWN);
+	}
+
+	public TagInfo2(String name, int tag, FieldType dataTypes[], int length,
+			String lengthDescription)
+	{
+		this(name, tag, dataTypes, length, EXIF_DIRECTORY_UNKNOWN);
+	}
+	public final String name;
+	public final int tag;
+	public final FieldType dataTypes[];
+	public final int length;
+	public final ExifDirectoryType exifDirectory;
+
+	//	public final String lengthDescription;
+
+	public TagInfo2(String name, int tag, FieldType dataTypes[], int length,
+			ExifDirectoryType exifDirectory
+	//			, String lengthDescription
+	)
+	{
+		this.name = name;
+		this.tag = tag;
+		this.dataTypes = dataTypes;
+		this.length = length;
+		//		this.lengthDescription = lengthDescription;
+		this.exifDirectory = exifDirectory;
+	}
+
+	public Object getValue(TiffField entry)
+	{
+		Object o = entry.fieldType.getSimpleValue(entry);
+		return o;
+	}
+
+	public String toString()
+	{
+		return "[TagInfo. tag: " + tag + ", name: " + name + "]";
+	}
+
+	public boolean isDate()
+	{
+		return false;
+	}
+
+	public static class Date extends TagInfo2
+	{
+		public Date(String name, int tag, FieldType dataType, int length)
+		{
+			super(name, tag, dataType, length);
+		}
+
+		private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
+				"yyyy:MM:dd HH:mm:ss");
+		private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
+				"yyyy:MM:dd:HH:mm:ss");
+
+		public Object getValue(TiffField entry)
+		{
+			Object o = entry.fieldType.getSimpleValue(entry);
+
+			String s = (String) o;
+			try
+			{
+				java.util.Date date = DATE_FORMAT_1.parse(s);
+				return date;
+			}
+			catch (Exception e)
+			{
+				//		Debug.debug(e);
+			}
+			try
+			{
+				java.util.Date date = DATE_FORMAT_2.parse(s);
+				return date;
+			}
+			catch (Exception e)
+			{
+				Debug.debug(e);
+			}
+
+			return o;
+		}
+
+		public String toString()
+		{
+			return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
+					+ "]";
+		}
+
+		// TODO: use polymorphism
+		public boolean isDate()
+		{
+			return true;
+		}
+
+	}
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,58 @@
+///**
+// * 
+// */
+//package org.apache.sanselan.formats.tiff.constants;
+//
+//import java.text.DateFormat;
+//import java.text.SimpleDateFormat;
+//import java.util.Date;
+//
+//import org.apache.sanselan.formats.tiff.TiffField;
+//import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+//import org.apache.sanselan.util.Debug;
+//
+//public class TagInfo2Date extends TagInfo2
+//{
+//	public TagInfo2Date(String name, int tag, FieldType dataType, int length)
+//	{
+//		super(name, tag, dataType, length);
+//	}
+//
+//	private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
+//			"yyyy:MM:dd HH:mm:ss");
+//	private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
+//			"yyyy:MM:dd:HH:mm:ss");
+//
+//	public Object getValue(TiffField entry)
+//	{
+//		Object o = entry.fieldType.getSimpleValue(entry);
+//
+//		String s = (String) o;
+//		try
+//		{
+//			Date date = DATE_FORMAT_1.parse(s);
+//			return date;
+//		}
+//		catch (Exception e)
+//		{
+//			//		Debug.debug(e);
+//		}
+//		try
+//		{
+//			Date date = DATE_FORMAT_2.parse(s);
+//			return date;
+//		}
+//		catch (Exception e)
+//		{
+//			Debug.debug(e);
+//		}
+//
+//		return o;
+//	}
+//
+//	public String toString()
+//	{
+//		return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
+//				+ "]";
+//	}
+//}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo2Date.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import org.apache.sanselan.SanselanConstants;
+
+public interface TiffConstants
+		extends
+			SanselanConstants,
+			TiffFieldTypeConstants,
+			TiffDirectoryConstants,
+			AllTagConstants
+{
+
+	public static final int TIFF_HEADER_SIZE = 8;
+	public static final int TIFF_DIRECTORY_HEADER_LENGTH = 4;
+	public static final int TIFF_DIRECTORY_FOOTER_LENGTH = 2;
+	public static final int TIFF_ENTRY_LENGTH = 12;
+	public static final int TIFF_ENTRY_MAX_VALUE_LENGTH = 4;
+
+	public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
+	public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
+	public static final int TIFF_COMPRESSION_CCITT_1D = 2;
+	public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
+	public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
+	public static final int TIFF_COMPRESSION_LZW = 5;
+	public static final int TIFF_COMPRESSION_JPEG = 6;
+	public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
+	public static final int TIFF_COMPRESSION_PACKBITS = 32773;
+
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface TiffDirectoryConstants
+{
+
+	public static final int DIRECTORY_TYPE_UNKNOWN = -1;
+	public static final int DIRECTORY_TYPE_ROOT = 0;
+	public static final int DIRECTORY_TYPE_SUB = 1;
+	public static final int DIRECTORY_TYPE_SUB1 = 2;
+	public static final int DIRECTORY_TYPE_SUB2 = 3;
+	public static final int DIRECTORY_TYPE_THUMBNAIL = 2;
+	public static final int DIRECTORY_TYPE_EXIF = -2;
+	//	public static final int DIRECTORY_TYPE_SUB = 5;
+	public static final int DIRECTORY_TYPE_GPS = -3;
+	public static final int DIRECTORY_TYPE_INTEROPERABILITY = -4;
+	public static final int DIRECTORY_TYPE_MAKER_NOTES = -5;
+	public static final int DIRECTORY_TYPE_DIR_0 = 0;
+	public static final int DIRECTORY_TYPE_DIR_1 = 1;
+	public static final int DIRECTORY_TYPE_DIR_2 = 2;
+	public static final int DIRECTORY_TYPE_DIR_3 = 3;
+	public static final int DIRECTORY_TYPE_DIR_4 = 4;
+
+	public static class ExifDirectoryType
+	{
+		public final int directoryType;
+		public final String name;
+
+		public ExifDirectoryType(final int directoryType, final String name)
+		{
+			this.directoryType = directoryType;
+			this.name = name;
+		}
+	}
+
+	public static final ExifDirectoryType TIFF_DIRECTORY_ROOT = new ExifDirectoryType(
+			DIRECTORY_TYPE_ROOT, "Root");
+	public static final ExifDirectoryType EXIF_DIRECTORY_EXIF_IFD = new ExifDirectoryType(
+			DIRECTORY_TYPE_EXIF, "Exif IFD");
+	public static final ExifDirectoryType TIFF_DIRECTORY_IFD0 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_0, "IFD0");
+	public static final ExifDirectoryType EXIF_DIRECTORY_IFD0 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_0, "IFD0");
+	public static final ExifDirectoryType TIFF_DIRECTORY_IFD1 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_1, "IFD1");
+	public static final ExifDirectoryType EXIF_DIRECTORY_IFD1 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_1, "IFD1");
+	public static final ExifDirectoryType TIFF_DIRECTORY_IFD2 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_2, "IFD2");
+	public static final ExifDirectoryType EXIF_DIRECTORY_IFD2 = new ExifDirectoryType(
+			DIRECTORY_TYPE_DIR_2, "IFD2");
+	public static final ExifDirectoryType EXIF_DIRECTORY_INTEROP_IFD = new ExifDirectoryType(
+			DIRECTORY_TYPE_INTEROPERABILITY, "Interop IFD");
+	public static final ExifDirectoryType EXIF_DIRECTORY_MAKER_NOTES = new ExifDirectoryType(
+			DIRECTORY_TYPE_MAKER_NOTES, "Maker Notes");
+	public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD = new ExifDirectoryType(
+			DIRECTORY_TYPE_SUB, "Sub IFD");
+	public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD1 = new ExifDirectoryType(
+			DIRECTORY_TYPE_SUB1, "Sub IFD1");
+	public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD2 = new ExifDirectoryType(
+			DIRECTORY_TYPE_SUB2, "Sub IFD2");
+	public static final ExifDirectoryType EXIF_DIRECTORY_UNKNOWN = null;
+	public static final ExifDirectoryType EXIF_DIRECTORY_GPS = new ExifDirectoryType(
+			DIRECTORY_TYPE_GPS, "GPS IFD");
+
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+import org.apache.sanselan.SanselanConstants;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
+import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
+
+public interface TiffFieldTypeConstants extends SanselanConstants
+{
+
+	//	public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+	//			"Byte");
+	//
+	//	public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+	//			"ASCII");
+	//
+	//	public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+	//			"Short");
+	//
+	//	public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+	//			"Long");
+	//
+	//	public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+	//			5, "Rational");
+	//
+	//	public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+	//			"SByte");
+	//	public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+	//			"Undefined");
+	//	public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+	//			"SShort");
+	//
+	//	public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+	//			"SLong");
+	//
+	//	public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+	//			10, "SRational");
+	//
+	//	public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+	//
+	//	public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+	//
+	//	public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+	//
+	//	public static final FieldType FIELD_TYPES[] = {
+	//			FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+	//			FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+	//			FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+	//			FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+	//	};
+
+	public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+			"Byte");
+
+	public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+			"ASCII");
+
+	public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+			"Short");
+
+	public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+			"Long");
+
+	public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+			5, "Rational");
+
+	public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+			"SByte");
+	public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+			"Undefined");
+	public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+			"SShort");
+
+	public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+			"SLong");
+
+	public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+			10, "SRational");
+
+	public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+
+	public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+
+	public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+
+	public static final FieldType FIELD_TYPES[] = {
+			FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+			FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+			FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+			FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+	};
+
+	public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
+
+	public static final FieldType FIELD_TYPE_DESCRIPTION_LONG[] = {
+		FIELD_TYPE_LONG,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_SHORT[] = {
+		FIELD_TYPE_SHORT,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG[] = {
+			FIELD_TYPE_SHORT, FIELD_TYPE_LONG,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_ASCII[] = {
+		FIELD_TYPE_ASCII,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_LONG_OR_SHORT[] = {
+			FIELD_TYPE_SHORT, FIELD_TYPE_LONG,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_RATIONAL[] = {
+		FIELD_TYPE_RATIONAL,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_BYTE_OR_SHORT[] = {
+			FIELD_TYPE_SHORT, FIELD_TYPE_BYTE
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_BYTE[] = {
+		FIELD_TYPE_BYTE,
+	};
+	public static final FieldType FIELD_TYPE_DESCRIPTION_ANY[] = FIELD_TYPE_ANY;
+	public static final FieldType FIELD_TYPE_DESCRIPTION_UNKNOWN[] = null;
+
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java?rev=607388&view=auto
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java (added)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java Fri Dec 28 22:48:44 2007
@@ -0,0 +1,349 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sanselan.formats.tiff.constants;
+
+public interface TiffTagConstants
+		extends
+			TiffDirectoryConstants,
+			TiffFieldTypeConstants
+{
+
+	public static final TagInfo2 TIFF_TAG_NEW_SUBFILE_TYPE = new TagInfo2(
+			"New Subfile Type", 0xFE, FIELD_TYPE_DESCRIPTION_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SUBFILE_TYPE = new TagInfo2(
+			"Subfile Type", 0xFF, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_IMAGE_WIDTH = new TagInfo2(
+			"Image Width", 0x100, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_IMAGE_LENGTH = new TagInfo2(
+			"Image Length", 0x101, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_BITS_PER_SAMPLE = new TagInfo2(
+			"Bits Per Sample", 0x102, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_COMPRESSION = new TagInfo2(
+			"Compression", 0x103, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
+			"Photometric Interpretation", 0x106, FIELD_TYPE_DESCRIPTION_SHORT,
+			1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_THRESHHOLDING = new TagInfo2(
+			"Threshholding", 0x107, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_CELL_WIDTH = new TagInfo2(
+			"Cell Width", 0x108, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_CELL_LENGTH = new TagInfo2(
+			"Cell Length", 0x109, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_FILL_ORDER = new TagInfo2(
+			"Fill Order", 0x10A, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_DOCUMENT_NAME = new TagInfo2(
+			"Document Name", 0x10D, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_IMAGE_DESCRIPTION = new TagInfo2(
+			"Image Description", 0x10E, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_MAKE = new TagInfo2("Make", 0x10F,
+			FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_MODEL = new TagInfo2("Model", 0x110,
+			FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_STRIP_OFFSETS = new TagInfo2(
+			"Strip Offsets", 0x111, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_ORIENTATION = new TagInfo2(
+			"Orientation", 0x112, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SAMPLES_PER_PIXEL = new TagInfo2(
+			"Samples Per Pixel", 0x115, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_ROWS_PER_STRIP = new TagInfo2(
+			"Rows Per Strip", 0x116, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_STRIP_BYTE_COUNTS = new TagInfo2(
+			"Strip Byte Counts", 0x117, FIELD_TYPE_DESCRIPTION_LONG_OR_SHORT,
+			-1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_MIN_SAMPLE_VALUE = new TagInfo2(
+			"Min Sample Value", 0x118, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_MAX_SAMPLE_VALUE = new TagInfo2(
+			"Max Sample Value", 0x119, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_XRESOLUTION = new TagInfo2(
+			"XResolution", 0x11A, FIELD_TYPE_DESCRIPTION_RATIONAL, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_YRESOLUTION = new TagInfo2(
+			"YResolution", 0x11B, FIELD_TYPE_DESCRIPTION_RATIONAL, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PLANAR_CONFIGURATION = new TagInfo2(
+			"Planar Configuration", 0x11C, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PAGE_NAME = new TagInfo2("Page Name",
+			0x11D, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_XPOSITION = new TagInfo2("XPosition",
+			0x11E, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_YPOSITION = new TagInfo2("YPosition",
+			0x11F, FIELD_TYPE_DESCRIPTION_RATIONAL, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_FREE_OFFSETS = new TagInfo2(
+			"Free Offsets", 0x120, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_FREE_BYTE_COUNTS = new TagInfo2(
+			"Free Byte Counts", 0x121, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_GRAY_RESPONSE_UNIT = new TagInfo2(
+			"Gray Response Unit", 0x122, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_GRAY_RESPONSE_CURVE = new TagInfo2(
+			"Gray Response Curve", 0x123, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_T4_OPTIONS = new TagInfo2(
+			"T4 Options", 0x124, FIELD_TYPE_DESCRIPTION_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_T6_OPTIONS = new TagInfo2(
+			"T6 Options", 0x125, FIELD_TYPE_DESCRIPTION_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_RESOLUTION_UNIT = new TagInfo2(
+			"Resolution Unit", 0x128, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PAGE_NUMBER = new TagInfo2(
+			"Page Number", 0x129, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TRANSFER_FUNCTION = new TagInfo2(
+			"Transfer Function", 0x12D, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SOFTWARE = new TagInfo2("Software",
+			0x131, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_DATE_TIME = new TagInfo2("Date Time",
+			0x132, FIELD_TYPE_DESCRIPTION_ASCII, 20, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_ARTIST = new TagInfo2("Artist",
+			0x13B, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_HOST_COMPUTER = new TagInfo2(
+			"Host Computer", 0x13C, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PREDICTOR = new TagInfo2("Predictor",
+			0x13D, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_WHITE_POINT = new TagInfo2(
+			"White Point", 0x13E, FIELD_TYPE_DESCRIPTION_RATIONAL, 2,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_PRIMARY_CHROMATICITIES = new TagInfo2(
+			"Primary Chromaticities", 0x13F, FIELD_TYPE_DESCRIPTION_RATIONAL,
+			6, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_COLOR_MAP = new TagInfo2("Color Map",
+			0x140, FIELD_TYPE_DESCRIPTION_SHORT, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_HALFTONE_HINTS = new TagInfo2(
+			"Halftone Hints", 0x141, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TILE_WIDTH = new TagInfo2(
+			"Tile Width", 0x142, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TILE_LENGTH = new TagInfo2(
+			"Tile Length", 0x143, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TILE_OFFSETS = new TagInfo2(
+			"Tile Offsets", 0x144, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TILE_BYTE_COUNTS = new TagInfo2(
+			"Tile Byte Counts", 0x145, FIELD_TYPE_DESCRIPTION_SHORT_OR_LONG,
+			-1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_INK_SET = new TagInfo2("Ink Set",
+			0x14C, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_INK_NAMES = new TagInfo2("Ink Names",
+			0x14D, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_NUMBER_OF_INKS = new TagInfo2(
+			"Number Of Inks", 0x14E, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_DOT_RANGE = new TagInfo2("Dot Range",
+			0x150, FIELD_TYPE_DESCRIPTION_BYTE_OR_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TARGET_PRINTER = new TagInfo2(
+			"Target Printer", 0x151, FIELD_TYPE_DESCRIPTION_ASCII, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_EXTRA_SAMPLES = new TagInfo2(
+			"Extra Samples", 0x152, FIELD_TYPE_DESCRIPTION_BYTE, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SAMPLE_FORMAT = new TagInfo2(
+			"Sample Format", 0x153, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SMIN_SAMPLE_VALUE = new TagInfo2(
+			"SMin Sample Value", 0x154, FIELD_TYPE_DESCRIPTION_ANY, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_SMAX_SAMPLE_VALUE = new TagInfo2(
+			"SMax Sample Value", 0x155, FIELD_TYPE_DESCRIPTION_ANY, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_TRANSFER_RANGE = new TagInfo2(
+			"Transfer Range", 0x156, FIELD_TYPE_DESCRIPTION_SHORT, 6,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_PROC = new TagInfo2("JPEGProc",
+			0x200, FIELD_TYPE_DESCRIPTION_SHORT, 1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
+			"JPEGInterchange Format", 0x201, FIELD_TYPE_DESCRIPTION_LONG, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
+			"JPEGInterchange Format Length", 0x202,
+			FIELD_TYPE_DESCRIPTION_LONG, 1, TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_RESTART_INTERVAL = new TagInfo2(
+			"JPEGRestart Interval", 0x203, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
+			"JPEGLossless Predictors", 0x205, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_POINT_TRANSFORMS = new TagInfo2(
+			"JPEGPoint Transforms", 0x206, FIELD_TYPE_DESCRIPTION_SHORT, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_QTABLES = new TagInfo2(
+			"JPEGQTables", 0x207, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_DCTABLES = new TagInfo2(
+			"JPEGDCTables", 0x208, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_JPEG_ACTABLES = new TagInfo2(
+			"JPEGACTables", 0x209, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_YCBCR_COEFFICIENTS = new TagInfo2(
+			"YCbCr Coefficients", 0x211, FIELD_TYPE_DESCRIPTION_RATIONAL, 3,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_YCBCR_SUB_SAMPLING = new TagInfo2(
+			"YCbCr Sub Sampling", 0x212, FIELD_TYPE_DESCRIPTION_SHORT, 2,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_YCBCR_POSITIONING = new TagInfo2(
+			"YCbCr Positioning", 0x213, FIELD_TYPE_DESCRIPTION_SHORT, 1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_REFERENCE_BLACK_WHITE = new TagInfo2(
+			"Reference Black White", 0x214, FIELD_TYPE_DESCRIPTION_LONG, -1,
+			TIFF_DIRECTORY_ROOT);
+
+	public static final TagInfo2 TIFF_TAG_COPYRIGHT = new TagInfo2("Copyright",
+			0x8298, FIELD_TYPE_DESCRIPTION_ASCII, -1, TIFF_DIRECTORY_ROOT);
+
+	// TODO:
+	//	public static final TagInfo2 TIFF_TAG_UNKNOWN = null;
+	public static final TagInfo2 TIFF_TAG_UNKNOWN = new TagInfo2("Unknown Tag",
+			-1, FIELD_TYPE_DESCRIPTION_UNKNOWN, TagInfo2.LENGTH_UNKNOWN,
+			EXIF_DIRECTORY_UNKNOWN);
+
+	public static final TagInfo2 ALL_TIFF_TAGS[] = {
+			TIFF_TAG_NEW_SUBFILE_TYPE, TIFF_TAG_SUBFILE_TYPE,
+			TIFF_TAG_IMAGE_WIDTH, TIFF_TAG_IMAGE_LENGTH,
+			TIFF_TAG_BITS_PER_SAMPLE, TIFF_TAG_COMPRESSION,
+			TIFF_TAG_PHOTOMETRIC_INTERPRETATION, TIFF_TAG_THRESHHOLDING,
+			TIFF_TAG_CELL_WIDTH, TIFF_TAG_CELL_LENGTH, TIFF_TAG_FILL_ORDER,
+			TIFF_TAG_DOCUMENT_NAME, TIFF_TAG_IMAGE_DESCRIPTION, TIFF_TAG_MAKE,
+			TIFF_TAG_MODEL, TIFF_TAG_STRIP_OFFSETS, TIFF_TAG_ORIENTATION,
+			TIFF_TAG_SAMPLES_PER_PIXEL, TIFF_TAG_ROWS_PER_STRIP,
+			TIFF_TAG_STRIP_BYTE_COUNTS, TIFF_TAG_MIN_SAMPLE_VALUE,
+			TIFF_TAG_MAX_SAMPLE_VALUE, TIFF_TAG_XRESOLUTION,
+			TIFF_TAG_YRESOLUTION, TIFF_TAG_PLANAR_CONFIGURATION,
+			TIFF_TAG_PAGE_NAME, TIFF_TAG_XPOSITION, TIFF_TAG_YPOSITION,
+			TIFF_TAG_FREE_OFFSETS, TIFF_TAG_FREE_BYTE_COUNTS,
+			TIFF_TAG_GRAY_RESPONSE_UNIT, TIFF_TAG_GRAY_RESPONSE_CURVE,
+			TIFF_TAG_T4_OPTIONS, TIFF_TAG_T6_OPTIONS, TIFF_TAG_RESOLUTION_UNIT,
+			TIFF_TAG_PAGE_NUMBER, TIFF_TAG_TRANSFER_FUNCTION,
+			TIFF_TAG_SOFTWARE, TIFF_TAG_DATE_TIME, TIFF_TAG_ARTIST,
+			TIFF_TAG_HOST_COMPUTER, TIFF_TAG_PREDICTOR, TIFF_TAG_WHITE_POINT,
+			TIFF_TAG_PRIMARY_CHROMATICITIES, TIFF_TAG_COLOR_MAP,
+			TIFF_TAG_HALFTONE_HINTS, TIFF_TAG_TILE_WIDTH, TIFF_TAG_TILE_LENGTH,
+			TIFF_TAG_TILE_OFFSETS, TIFF_TAG_TILE_BYTE_COUNTS, TIFF_TAG_INK_SET,
+			TIFF_TAG_INK_NAMES, TIFF_TAG_NUMBER_OF_INKS, TIFF_TAG_DOT_RANGE,
+			TIFF_TAG_TARGET_PRINTER, TIFF_TAG_EXTRA_SAMPLES,
+			TIFF_TAG_SAMPLE_FORMAT, TIFF_TAG_SMIN_SAMPLE_VALUE,
+			TIFF_TAG_SMAX_SAMPLE_VALUE, TIFF_TAG_TRANSFER_RANGE,
+			TIFF_TAG_JPEG_PROC, TIFF_TAG_JPEG_INTERCHANGE_FORMAT,
+			TIFF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH,
+			TIFF_TAG_JPEG_RESTART_INTERVAL, TIFF_TAG_JPEG_LOSSLESS_PREDICTORS,
+			TIFF_TAG_JPEG_POINT_TRANSFORMS, TIFF_TAG_JPEG_QTABLES,
+			TIFF_TAG_JPEG_DCTABLES, TIFF_TAG_JPEG_ACTABLES,
+			TIFF_TAG_YCBCR_COEFFICIENTS, TIFF_TAG_YCBCR_SUB_SAMPLING,
+			TIFF_TAG_YCBCR_POSITIONING, TIFF_TAG_REFERENCE_BLACK_WHITE,
+			TIFF_TAG_COPYRIGHT
+	};
+
+}
\ No newline at end of file

Propchange: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java Fri Dec 28 22:48:44 2007
@@ -27,7 +27,7 @@
 import org.apache.sanselan.common.PackBits;
 import org.apache.sanselan.common.byteSources.ByteSource;
 import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
-import org.apache.sanselan.formats.tiff.TiffConstants;
+import org.apache.sanselan.formats.tiff.constants.TiffConstants;
 import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
 
 public abstract class DataReader implements TiffConstants, BinaryConstants

Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst.java Fri Dec 28 22:48:44 2007
@@ -1,233 +1,70 @@
-package org.apache.sanselan.formats.tiff.debug;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
-import org.apache.sanselan.util.Debug;
-
-public class TiffConst
-{
-	public static class ExifDirectory
-	{
-		public final String name;
-
-		public ExifDirectory(final String name)
-		{
-			this.name = name;
-		}
-	}
-
-	public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
-	public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
-	public static final int TIFF_COMPRESSION_CCITT_1D = 2;
-	public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
-	public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
-	public static final int TIFF_COMPRESSION_LZW = 5;
-	public static final int TIFF_COMPRESSION_JPEG = 6;
-	public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
-	public static final int TIFF_COMPRESSION_PACKBITS = 32773;
-
-	public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0;
-	public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1;
-	public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2;
-	public static final int PHOTOMETRIC_INTERPRETATION_RGB_PALETTE = 3;
-	public static final int PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK = 4;
-	public static final int PHOTOMETRIC_INTERPRETATION_CMYK = 5;
-	public static final int PHOTOMETRIC_INTERPRETATION_YCBCR = 6;
-	public static final int PHOTOMETRIC_INTERPRETATION_CIELAB = 8;
-
-	public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
-			"Byte");
-
-	public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
-			"ASCII");
-
-	public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
-			"Short");
-
-	public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
-			"Long");
-
-	public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
-			5, "Rational");
-
-	public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
-			"SByte");
-	public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
-			"Undefined");
-	public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
-			"SShort");
-
-	public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
-			"SLong");
-
-	public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
-			10, "SRational");
-
-	public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
-
-	public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
-
-	public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
-
-	public static final FieldType FIELD_TYPES[] = {
-			FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
-			FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
-			FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
-			FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
-	};
-
-	public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
-
-	public static class TagInfo2
-	{
-		protected static final int LENGTH_UNKNOWN = -1;
-
-		public TagInfo2(String name, int tag, FieldType dataType, int length,
-				ExifDirectory exifDirectory)
-		{
-			this(name, tag, dataType, length);
-		}
-
-		public TagInfo2(String name, int tag, FieldType dataType, int length)
-		{
-			this(name, tag, new FieldType[]{
-				dataType
-			}, length, null);
-		}
-
-		public TagInfo2(String name, int tag, FieldType dataType,
-				String lengthDescription)
-		{
-			this(name, tag, new FieldType[]{
-				dataType
-			}, LENGTH_UNKNOWN, lengthDescription);
-		}
-
-		public TagInfo2(String name, int tag, FieldType dataTypes[], int length)
-		{
-			this(name, tag, dataTypes, length, null);
-		}
-
-		public TagInfo2(String name, int tag, FieldType dataTypes[],
-				String lengthDescription)
-		{
-			this(name, tag, dataTypes, LENGTH_UNKNOWN, lengthDescription);
-		}
-
-		public TagInfo2(String name, int tag, FieldType dataType)
-		{
-			this(name, tag, dataType, LENGTH_UNKNOWN);
-		}
-
-		public final String name;
-		public final int tag;
-		public final FieldType dataTypes[];
-		public final int length;
-		public final String lengthDescription;
-
-		public TagInfo2(String name, int tag, FieldType dataTypes[],
-				int length, String lengthDescription)
-		{
-			this.name = name;
-			this.tag = tag;
-			this.dataTypes = dataTypes;
-			this.length = length;
-			this.lengthDescription = lengthDescription;
-		}
-
-		public Object getValue(TiffField entry)
-		{
-			Object o = entry.fieldType.getSimpleValue(entry);
-			return o;
-		}
-
-		public String toString()
-		{
-			return "[TagInfo. tag: " + tag + ", name: " + name + "]";
-		}
-
-	}
-
-	public static class TagInfo2Date extends TagInfo2
-	{
-		public TagInfo2Date(String name, int tag, FieldType dataType, int length)
-		{
-			super(name, tag, dataType, length);
-		}
-		//
-		//		public TagInfo2Date(String name, int tag, FieldType dataType,
-		//				String lengthDescription)
-		//		{
-		//			this(name, tag, new FieldType[]{
-		//				dataType
-		//			}, LENGTH_UNKNOWN, lengthDescription);
-		//		}
-		//
-		//		public TagInfo2Date(String name, int tag, FieldType dataTypes[], int length)
-		//		{
-		//			this(name, tag, dataTypes, length, null);
-		//		}
-		//
-		//		public TagInfo2Date(String name, int tag, FieldType dataTypes[],
-		//				String lengthDescription)
-		//		{
-		//			this(name, tag, dataTypes, LENGTH_UNKNOWN, lengthDescription);
-		//		}
-		//
-		//		public TagInfo2Date(String name, int tag, FieldType dataType)
-		//		{
-		//			this(name, tag, dataType, LENGTH_UNKNOWN);
-		//		}
-
-		private static final DateFormat DATE_FORMAT_1 = new SimpleDateFormat(
-				"yyyy:MM:dd HH:mm:ss");
-		private static final DateFormat DATE_FORMAT_2 = new SimpleDateFormat(
-				"yyyy:MM:dd:HH:mm:ss");
-
-		public Object getValue(TiffField entry)
-		{
-			Object o = entry.fieldType.getSimpleValue(entry);
-
-			String s = (String) o;
-			try
-			{
-				Date date = DATE_FORMAT_1.parse(s);
-				return date;
-			}
-			catch (Exception e)
-			{
-				//		Debug.debug(e);
-			}
-			try
-			{
-				Date date = DATE_FORMAT_2.parse(s);
-				return date;
-			}
-			catch (Exception e)
-			{
-				Debug.debug(e);
-			}
-
-			return o;
-		}
-
-		public String toString()
-		{
-			return "[TagInfo. tag: " + tag + ", name: " + name + " (data)"
-					+ "]";
-		}
-	}
-
-}
+//package org.apache.sanselan.formats.tiff.debug;
+//
+//import org.apache.sanselan.formats.tiff.constants.TiffFieldTypeConstants;
+//
+//public interface TiffConst extends TiffFieldTypeConstants
+//{
+//
+//	public static final int TIFF_COMPRESSION_UNCOMPRESSED_1 = 1;
+//	public static final int TIFF_COMPRESSION_UNCOMPRESSED = TIFF_COMPRESSION_UNCOMPRESSED_1;
+//	public static final int TIFF_COMPRESSION_CCITT_1D = 2;
+//	public static final int TIFF_COMPRESSION_CCITT_GROUP_3 = 3;
+//	public static final int TIFF_COMPRESSION_CCITT_GROUP_4 = 4;
+//	public static final int TIFF_COMPRESSION_LZW = 5;
+//	public static final int TIFF_COMPRESSION_JPEG = 6;
+//	public static final int TIFF_COMPRESSION_UNCOMPRESSED_2 = 32771;
+//	public static final int TIFF_COMPRESSION_PACKBITS = 32773;
+//
+//	public static final int PHOTOMETRIC_INTERPRETATION_WHITE_IS_ZERO = 0;
+//	public static final int PHOTOMETRIC_INTERPRETATION_BLACK_IS_ZERO = 1;
+//	public static final int PHOTOMETRIC_INTERPRETATION_RGB = 2;
+//	public static final int PHOTOMETRIC_INTERPRETATION_RGB_PALETTE = 3;
+//	public static final int PHOTOMETRIC_INTERPRETATION_TRANSPARENCY_MASK = 4;
+//	public static final int PHOTOMETRIC_INTERPRETATION_CMYK = 5;
+//	public static final int PHOTOMETRIC_INTERPRETATION_YCBCR = 6;
+//	public static final int PHOTOMETRIC_INTERPRETATION_CIELAB = 8;
+//
+//	//	public static final FieldTypeByte FIELD_TYPE_BYTE = new FieldTypeByte(1,
+//	//			"Byte");
+//	//
+//	//	public static final FieldTypeASCII FIELD_TYPE_ASCII = new FieldTypeASCII(2,
+//	//			"ASCII");
+//	//
+//	//	public static final FieldTypeShort FIELD_TYPE_SHORT = new FieldTypeShort(3,
+//	//			"Short");
+//	//
+//	//	public static final FieldTypeLong FIELD_TYPE_LONG = new FieldTypeLong(4,
+//	//			"Long");
+//	//
+//	//	public static final FieldTypeRational FIELD_TYPE_RATIONAL = new FieldTypeRational(
+//	//			5, "Rational");
+//	//
+//	//	public static final FieldType FIELD_TYPE_SBYTE = new FieldTypeByte(6,
+//	//			"SByte");
+//	//	public static final FieldType FIELD_TYPE_UNDEFINED = new FieldTypeByte(7,
+//	//			"Undefined");
+//	//	public static final FieldType FIELD_TYPE_SSHORT = new FieldTypeShort(8,
+//	//			"SShort");
+//	//
+//	//	public static final FieldType FIELD_TYPE_SLONG = new FieldTypeLong(9,
+//	//			"SLong");
+//	//
+//	//	public static final FieldType FIELD_TYPE_SRATIONAL = new FieldTypeRational(
+//	//			10, "SRational");
+//	//
+//	//	public static final FieldType FIELD_TYPE_FLOAT = new FieldTypeFloat();
+//	//
+//	//	public static final FieldType FIELD_TYPE_DOUBLE = new FieldTypeDouble();
+//	//
+//	//	public static final FieldType FIELD_TYPE_UNKNOWN = new FieldTypeUnknown();
+//	//
+//	//	public static final FieldType FIELD_TYPES[] = {
+//	//			FIELD_TYPE_BYTE, FIELD_TYPE_ASCII, FIELD_TYPE_SHORT,
+//	//			FIELD_TYPE_LONG, FIELD_TYPE_RATIONAL, FIELD_TYPE_SBYTE,
+//	//			FIELD_TYPE_UNDEFINED, FIELD_TYPE_SSHORT, FIELD_TYPE_SLONG,
+//	//			FIELD_TYPE_SRATIONAL, FIELD_TYPE_FLOAT, FIELD_TYPE_DOUBLE,
+//	//	};
+//	//
+//	//	public static final FieldType FIELD_TYPE_ANY[] = FIELD_TYPES;
+//
+//}

Modified: incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java
URL: http://svn.apache.org/viewvc/incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java?rev=607388&r1=607387&r2=607388&view=diff
==============================================================================
--- incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java (original)
+++ incubator/sanselan/trunk/src/main/java/org/apache/sanselan/formats/tiff/debug/TiffConst1.java Fri Dec 28 22:48:44 2007
@@ -1,180 +1,182 @@
-package org.apache.sanselan.formats.tiff.debug;
-
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-
-public class TiffConst1 extends TiffConst
-{
-
-	public static final TagInfo2 TAG_INFO_NEW_SUB_FILE_TYPE = new TagInfo2(
-			"NewSubfileType", 254, FIELD_TYPE_LONG, 1);
-	public static final TagInfo2 TAG_INFO_SUB_FILE_TYPE = new TagInfo2(
-			"SubfileType", 255, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_IMAGE_WIDTH = new TagInfo2(
-			"ImageWidth", 256, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, 1);
-	public static final TagInfo2 TAG_INFO_IMAGE_LENGTH = new TagInfo2(
-			"ImageLength", 257, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, 1);
-	public static final TagInfo2 TAG_INFO_BITS_PER_SAMPLE = new TagInfo2(
-			"BitsPerSample", 258, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_COMPRESSION = new TagInfo2(
-			"Compression", 259, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
-			"PhotometricInterpretation", 262, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_THRESHHOLDING = new TagInfo2(
-			"Threshholding", 263, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_CELL_WIDTH = new TagInfo2(
-			"CellWidth", 264, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_CELL_LENGTH = new TagInfo2(
-			"CellLength", 265, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_FILL_ORDER = new TagInfo2(
-			"FillOrder", 266, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_DOCUMENT_NAME = new TagInfo2(
-			"DocumentName", 269, FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_IMAGE_DESCRIPTION = new TagInfo2(
-			"ImageDescription", 270, FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_MAKE = new TagInfo2("Make", 271,
-			FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_MODEL = new TagInfo2("Model", 272,
-			FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_STRIP_OFFSETS = new TagInfo2(
-			"StripOffsets", 273, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, "StripsPerImage");
-	public static final TagInfo2 TAG_INFO_ORIENTATION = new TagInfo2(
-			"Orientation", 274, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_SAMPLES_PER_PIXEL = new TagInfo2(
-			"SamplesPerPixel", 277, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_ROWS_PER_STRIP = new TagInfo2(
-			"RowsPerStrip", 278, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, 1);
-	public static final TagInfo2 TAG_INFO_STRIP_BYTE_COUNTS = new TagInfo2(
-			"StripByteCounts", 279, new FieldType[]{
-					FIELD_TYPE_LONG, FIELD_TYPE_SHORT
-			}, "StripsPerImage");
-	public static final TagInfo2 TAG_INFO_MIN_SAMPLE_VALUE = new TagInfo2(
-			"MinSampleValue", 280, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_MAX_SAMPLE_VALUE = new TagInfo2(
-			"MaxSampleValue", 281, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_X_RESOLUTION = new TagInfo2(
-			"XResolution", 282, FIELD_TYPE_RATIONAL, 1);
-	public static final TagInfo2 TAG_INFO_Y_RESOLUTION = new TagInfo2(
-			"YResolution", 283, FIELD_TYPE_RATIONAL, 1);
-	public static final TagInfo2 TAG_INFO_PLANAR_CONFIGURATION = new TagInfo2(
-			"PlanarConfiguration", 284, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_PAGE_NAME = new TagInfo2("PageName",
-			285, FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_X_POSITION = new TagInfo2(
-			"XPosition", 286, FIELD_TYPE_RATIONAL);
-	public static final TagInfo2 TAG_INFO_Y_POSITION = new TagInfo2(
-			"YPosition", 287, FIELD_TYPE_RATIONAL);
-	public static final TagInfo2 TAG_INFO_FREE_OFFSETS = new TagInfo2(
-			"FreeOffsets", 288, FIELD_TYPE_LONG);
-	public static final TagInfo2 TAG_INFO_FREE_BYTE_COUNTS = new TagInfo2(
-			"FreeByteCounts", 289, FIELD_TYPE_LONG);
-	public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_UNIT = new TagInfo2(
-			"GrayResponseUnit", 290, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_CURVE = new TagInfo2(
-			"GrayResponseCurve", 291, FIELD_TYPE_SHORT, "2**BitsPerSample");
-	public static final TagInfo2 TAG_INFO_T4_OPTIONS = new TagInfo2(
-			"T4Options", 292, FIELD_TYPE_LONG, 1);
-	public static final TagInfo2 TAG_INFO_T6_OPTIONS = new TagInfo2(
-			"T6Options", 293, FIELD_TYPE_LONG, 1);
-	public static final TagInfo2 TAG_INFO_RESOLUTION_UNIT = new TagInfo2(
-			"ResolutionUnit", 296, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_PAGE_NUMBER = new TagInfo2(
-			"PageNumber", 297, FIELD_TYPE_SHORT, 2);
-	public static final TagInfo2 TAG_INFO_TRANSFER_FUNCTION = new TagInfo2(
-			"TransferFunction", 301, FIELD_TYPE_SHORT,
-			"{1 or SamplesPerPixel}* 2** BitsPerSample");
-	public static final TagInfo2 TAG_INFO_SOFTWARE = new TagInfo2("Software",
-			305, FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_DATE_TIME = new TagInfo2Date(
-			"DateTime", 306, FIELD_TYPE_ASCII, 20);
-	public static final TagInfo2 TAG_INFO_ARTIST = new TagInfo2("Artist", 315,
-			FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_HOST_COMPUTER = new TagInfo2(
-			"HostComputer", 316, FIELD_TYPE_ASCII);
-	public static final TagInfo2 TAG_INFO_PREDICTOR = new TagInfo2("Predictor",
-			317, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_WHITE_POINT = new TagInfo2(
-			"WhitePoint", 318, FIELD_TYPE_RATIONAL, 2);
-	public static final TagInfo2 TAG_INFO_PRIMARY_CHROMATICITIES = new TagInfo2(
-			"PrimaryChromaticities", 319, FIELD_TYPE_RATIONAL, 6);
-	public static final TagInfo2 TAG_INFO_COLOR_MAP = new TagInfo2("ColorMap",
-			320, FIELD_TYPE_SHORT, "3 * (2**BitsPerSample)");
-	public static final TagInfo2 TAG_INFO_HALFTONE_HINTS = new TagInfo2(
-			"HalftoneHints", 321, FIELD_TYPE_SHORT, 2);
-	public static final TagInfo2 TAG_INFO_TILE_WIDTH = new TagInfo2(
-			"TileWidth", 322, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, 1);
-	public static final TagInfo2 TAG_INFO_TILE_LENGTH = new TagInfo2(
-			"TileLength", 323, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, 1);
-	public static final TagInfo2 TAG_INFO_TILE_OFFSETS = new TagInfo2(
-			"TileOffsets", 324, FIELD_TYPE_LONG, "TilesPerImage");
-	public static final TagInfo2 TAG_INFO_TILE_BYTE_COUNTS = new TagInfo2(
-			"TileByteCounts", 325, new FieldType[]{
-					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
-			}, "TilesPerImage");
-	public static final TagInfo2 TAG_INFO_INK_SET = new TagInfo2("InkSet", 332,
-			FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_INK_NAMES = new TagInfo2("InkNames",
-			333, FIELD_TYPE_ASCII,
-			"total number of characters in all ink name strings, including zeros");
-	public static final TagInfo2 TAG_INFO_NUMBER_OF_INKS = new TagInfo2(
-			"NumberOfInks", 334, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_DOT_RANGE = new TagInfo2("DotRange",
-			336, new FieldType[]{
-					FIELD_TYPE_BYTE, FIELD_TYPE_SHORT
-			}, "2, or 2* NumberOfInks");
-	public static final TagInfo2 TAG_INFO_TARGET_PRINTER = new TagInfo2(
-			"TargetPrinter", 337, FIELD_TYPE_ASCII, "any");
-	public static final TagInfo2 TAG_INFO_EXTRA_SAMPLES = new TagInfo2(
-			"ExtraSamples", 338, FIELD_TYPE_BYTE,
-			"number of extra components per pixel");
-	public static final TagInfo2 TAG_INFO_SAMPLE_FORMAT = new TagInfo2(
-			"SampleFormat", 339, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_S_MIN_SAMPLE_VALUE = new TagInfo2(
-			"SMinSampleValue", 340, FIELD_TYPE_ANY, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_S_MAX_SAMPLE_VALUE = new TagInfo2(
-			"SMaxSampleValue", 341, FIELD_TYPE_ANY, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_TRANSFER_RANGE = new TagInfo2(
-			"TransferRange", 342, FIELD_TYPE_SHORT, 6);
-	public static final TagInfo2 TAG_INFO_JPEG_PROC = new TagInfo2("JPEGProc",
-			512, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
-			"JPEGInterchangeFormat", 513, FIELD_TYPE_LONG, 1);
-	public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
-			"JPEGInterchangeFormatLength", 514, FIELD_TYPE_LONG, 1);
-	public static final TagInfo2 TAG_INFO_JPEG_RESTART_INTERVAL = new TagInfo2(
-			"JPEGRestartInterval", 515, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
-			"JPEGLosslessPredictors", 517, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_JPEG_POINT_TRANSFORMS = new TagInfo2(
-			"JPEGPointTransforms", 518, FIELD_TYPE_SHORT, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_JPEG_Q_TABLES = new TagInfo2(
-			"JPEGQTables", 519, FIELD_TYPE_LONG, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_JPEG_DC_TABLES = new TagInfo2(
-			"JPEGDCTables", 520, FIELD_TYPE_LONG, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_JPEG_AC_TABLES = new TagInfo2(
-			"JPEGACTables", 521, FIELD_TYPE_LONG, "SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_YCBCR_COEFFICIENTS = new TagInfo2(
-			"YCbCrCoefficients", 529, FIELD_TYPE_RATIONAL, 3);
-	public static final TagInfo2 TAG_INFO_YCBCR_SUBSAMPLING = new TagInfo2(
-			"YCbCrSubSampling", 530, FIELD_TYPE_SHORT, 2);
-	public static final TagInfo2 TAG_INFO_YCBCR_POSITIONING = new TagInfo2(
-			"YCbCrPositioning", 531, FIELD_TYPE_SHORT, 1);
-	public static final TagInfo2 TAG_INFO_REFERENCE_BLACK_WHITE = new TagInfo2(
-			"ReferenceBlackWhite", 532, FIELD_TYPE_LONG, "2*SamplesPerPixel");
-	public static final TagInfo2 TAG_INFO_COPYRIGHT = new TagInfo2("Copyright",
-			33432, FIELD_TYPE_ASCII, "Any");
-
-}
-
-/**/
+//package org.apache.sanselan.formats.tiff.debug;
+//
+//import org.apache.sanselan.formats.tiff.constants.TagInfo2;
+//import org.apache.sanselan.formats.tiff.constants.TagInfo2.Date;
+//import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+//
+//public interface TiffConst1 extends TiffConst
+//{
+//
+//	public static final TagInfo2 TAG_INFO_NEW_SUB_FILE_TYPE = new TagInfo2(
+//			"NewSubfileType", 254, FIELD_TYPE_LONG, 1);
+//	public static final TagInfo2 TAG_INFO_SUB_FILE_TYPE = new TagInfo2(
+//			"SubfileType", 255, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_IMAGE_WIDTH = new TagInfo2(
+//			"ImageWidth", 256, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, 1);
+//	public static final TagInfo2 TAG_INFO_IMAGE_LENGTH = new TagInfo2(
+//			"ImageLength", 257, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, 1);
+//	public static final TagInfo2 TAG_INFO_BITS_PER_SAMPLE = new TagInfo2(
+//			"BitsPerSample", 258, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_COMPRESSION = new TagInfo2(
+//			"Compression", 259, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_PHOTOMETRIC_INTERPRETATION = new TagInfo2(
+//			"PhotometricInterpretation", 262, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_THRESHHOLDING = new TagInfo2(
+//			"Threshholding", 263, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_CELL_WIDTH = new TagInfo2(
+//			"CellWidth", 264, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_CELL_LENGTH = new TagInfo2(
+//			"CellLength", 265, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_FILL_ORDER = new TagInfo2(
+//			"FillOrder", 266, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_DOCUMENT_NAME = new TagInfo2(
+//			"DocumentName", 269, FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_IMAGE_DESCRIPTION = new TagInfo2(
+//			"ImageDescription", 270, FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_MAKE = new TagInfo2("Make", 271,
+//			FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_MODEL = new TagInfo2("Model", 272,
+//			FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_STRIP_OFFSETS = new TagInfo2(
+//			"StripOffsets", 273, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, "StripsPerImage");
+//	public static final TagInfo2 TAG_INFO_ORIENTATION = new TagInfo2(
+//			"Orientation", 274, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_SAMPLES_PER_PIXEL = new TagInfo2(
+//			"SamplesPerPixel", 277, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_ROWS_PER_STRIP = new TagInfo2(
+//			"RowsPerStrip", 278, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, 1);
+//	public static final TagInfo2 TAG_INFO_STRIP_BYTE_COUNTS = new TagInfo2(
+//			"StripByteCounts", 279, new FieldType[]{
+//					FIELD_TYPE_LONG, FIELD_TYPE_SHORT
+//			}, "StripsPerImage");
+//	public static final TagInfo2 TAG_INFO_MIN_SAMPLE_VALUE = new TagInfo2(
+//			"MinSampleValue", 280, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_MAX_SAMPLE_VALUE = new TagInfo2(
+//			"MaxSampleValue", 281, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_X_RESOLUTION = new TagInfo2(
+//			"XResolution", 282, FIELD_TYPE_RATIONAL, 1);
+//	public static final TagInfo2 TAG_INFO_Y_RESOLUTION = new TagInfo2(
+//			"YResolution", 283, FIELD_TYPE_RATIONAL, 1);
+//	public static final TagInfo2 TAG_INFO_PLANAR_CONFIGURATION = new TagInfo2(
+//			"PlanarConfiguration", 284, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_PAGE_NAME = new TagInfo2("PageName",
+//			285, FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_X_POSITION = new TagInfo2(
+//			"XPosition", 286, FIELD_TYPE_RATIONAL);
+//	public static final TagInfo2 TAG_INFO_Y_POSITION = new TagInfo2(
+//			"YPosition", 287, FIELD_TYPE_RATIONAL);
+//	public static final TagInfo2 TAG_INFO_FREE_OFFSETS = new TagInfo2(
+//			"FreeOffsets", 288, FIELD_TYPE_LONG);
+//	public static final TagInfo2 TAG_INFO_FREE_BYTE_COUNTS = new TagInfo2(
+//			"FreeByteCounts", 289, FIELD_TYPE_LONG);
+//	public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_UNIT = new TagInfo2(
+//			"GrayResponseUnit", 290, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_GRAY_RESPONSE_CURVE = new TagInfo2(
+//			"GrayResponseCurve", 291, FIELD_TYPE_SHORT, "2**BitsPerSample");
+//	public static final TagInfo2 TAG_INFO_T4_OPTIONS = new TagInfo2(
+//			"T4Options", 292, FIELD_TYPE_LONG, 1);
+//	public static final TagInfo2 TAG_INFO_T6_OPTIONS = new TagInfo2(
+//			"T6Options", 293, FIELD_TYPE_LONG, 1);
+//	public static final TagInfo2 TAG_INFO_RESOLUTION_UNIT = new TagInfo2(
+//			"ResolutionUnit", 296, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_PAGE_NUMBER = new TagInfo2(
+//			"PageNumber", 297, FIELD_TYPE_SHORT, 2);
+//	public static final TagInfo2 TAG_INFO_TRANSFER_FUNCTION = new TagInfo2(
+//			"TransferFunction", 301, FIELD_TYPE_SHORT,
+//			"{1 or SamplesPerPixel}* 2** BitsPerSample");
+//	public static final TagInfo2 TAG_INFO_SOFTWARE = new TagInfo2("Software",
+//			305, FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_DATE_TIME = new TagInfo2.Date(
+//			"DateTime", 306, FIELD_TYPE_ASCII, 20);
+//	public static final TagInfo2 TAG_INFO_ARTIST = new TagInfo2("Artist", 315,
+//			FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_HOST_COMPUTER = new TagInfo2(
+//			"HostComputer", 316, FIELD_TYPE_ASCII);
+//	public static final TagInfo2 TAG_INFO_PREDICTOR = new TagInfo2("Predictor",
+//			317, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_WHITE_POINT = new TagInfo2(
+//			"WhitePoint", 318, FIELD_TYPE_RATIONAL, 2);
+//	public static final TagInfo2 TAG_INFO_PRIMARY_CHROMATICITIES = new TagInfo2(
+//			"PrimaryChromaticities", 319, FIELD_TYPE_RATIONAL, 6);
+//	public static final TagInfo2 TAG_INFO_COLOR_MAP = new TagInfo2("ColorMap",
+//			320, FIELD_TYPE_SHORT, "3 * (2**BitsPerSample)");
+//	public static final TagInfo2 TAG_INFO_HALFTONE_HINTS = new TagInfo2(
+//			"HalftoneHints", 321, FIELD_TYPE_SHORT, 2);
+//	public static final TagInfo2 TAG_INFO_TILE_WIDTH = new TagInfo2(
+//			"TileWidth", 322, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, 1);
+//	public static final TagInfo2 TAG_INFO_TILE_LENGTH = new TagInfo2(
+//			"TileLength", 323, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, 1);
+//	public static final TagInfo2 TAG_INFO_TILE_OFFSETS = new TagInfo2(
+//			"TileOffsets", 324, FIELD_TYPE_LONG, "TilesPerImage");
+//	public static final TagInfo2 TAG_INFO_TILE_BYTE_COUNTS = new TagInfo2(
+//			"TileByteCounts", 325, new FieldType[]{
+//					FIELD_TYPE_SHORT, FIELD_TYPE_LONG
+//			}, "TilesPerImage");
+//	public static final TagInfo2 TAG_INFO_INK_SET = new TagInfo2("InkSet", 332,
+//			FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_INK_NAMES = new TagInfo2("InkNames",
+//			333, FIELD_TYPE_ASCII,
+//			"total number of characters in all ink name strings, including zeros");
+//	public static final TagInfo2 TAG_INFO_NUMBER_OF_INKS = new TagInfo2(
+//			"NumberOfInks", 334, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_DOT_RANGE = new TagInfo2("DotRange",
+//			336, new FieldType[]{
+//					FIELD_TYPE_BYTE, FIELD_TYPE_SHORT
+//			}, "2, or 2* NumberOfInks");
+//	public static final TagInfo2 TAG_INFO_TARGET_PRINTER = new TagInfo2(
+//			"TargetPrinter", 337, FIELD_TYPE_ASCII, "any");
+//	public static final TagInfo2 TAG_INFO_EXTRA_SAMPLES = new TagInfo2(
+//			"ExtraSamples", 338, FIELD_TYPE_BYTE,
+//			"number of extra components per pixel");
+//	public static final TagInfo2 TAG_INFO_SAMPLE_FORMAT = new TagInfo2(
+//			"SampleFormat", 339, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_S_MIN_SAMPLE_VALUE = new TagInfo2(
+//			"SMinSampleValue", 340, FIELD_TYPE_ANY, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_S_MAX_SAMPLE_VALUE = new TagInfo2(
+//			"SMaxSampleValue", 341, FIELD_TYPE_ANY, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_TRANSFER_RANGE = new TagInfo2(
+//			"TransferRange", 342, FIELD_TYPE_SHORT, 6);
+//	public static final TagInfo2 TAG_INFO_JPEG_PROC = new TagInfo2("JPEGProc",
+//			512, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT = new TagInfo2(
+//			"JPEGInterchangeFormat", 513, FIELD_TYPE_LONG, 1);
+//	public static final TagInfo2 TAG_INFO_JPEG_INTERCHANGE_FORMAT_LENGTH = new TagInfo2(
+//			"JPEGInterchangeFormatLength", 514, FIELD_TYPE_LONG, 1);
+//	public static final TagInfo2 TAG_INFO_JPEG_RESTART_INTERVAL = new TagInfo2(
+//			"JPEGRestartInterval", 515, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_JPEG_LOSSLESS_PREDICTORS = new TagInfo2(
+//			"JPEGLosslessPredictors", 517, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_JPEG_POINT_TRANSFORMS = new TagInfo2(
+//			"JPEGPointTransforms", 518, FIELD_TYPE_SHORT, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_JPEG_Q_TABLES = new TagInfo2(
+//			"JPEGQTables", 519, FIELD_TYPE_LONG, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_JPEG_DC_TABLES = new TagInfo2(
+//			"JPEGDCTables", 520, FIELD_TYPE_LONG, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_JPEG_AC_TABLES = new TagInfo2(
+//			"JPEGACTables", 521, FIELD_TYPE_LONG, "SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_YCBCR_COEFFICIENTS = new TagInfo2(
+//			"YCbCrCoefficients", 529, FIELD_TYPE_RATIONAL, 3);
+//	public static final TagInfo2 TAG_INFO_YCBCR_SUBSAMPLING = new TagInfo2(
+//			"YCbCrSubSampling", 530, FIELD_TYPE_SHORT, 2);
+//	public static final TagInfo2 TAG_INFO_YCBCR_POSITIONING = new TagInfo2(
+//			"YCbCrPositioning", 531, FIELD_TYPE_SHORT, 1);
+//	public static final TagInfo2 TAG_INFO_REFERENCE_BLACK_WHITE = new TagInfo2(
+//			"ReferenceBlackWhite", 532, FIELD_TYPE_LONG, "2*SamplesPerPixel");
+//	public static final TagInfo2 TAG_INFO_COPYRIGHT = new TagInfo2("Copyright",
+//			33432, FIELD_TYPE_ASCII, "Any");
+//
+//}
+//
+///**/