blob: 1272ced7097cf241da7f42116189b8b7d02ea980 [file] [log] [blame]
/*
* 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.commons.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_SUB0 = 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 abstract 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 abstract boolean isImageDirectory();
public static class Image extends ExifDirectoryType
{
public Image(final int directoryType, final String name)
{
super(directoryType, name);
}
public boolean isImageDirectory()
{
return true;
}
}
public static class Special extends ExifDirectoryType
{
public Special(final int directoryType, final String name)
{
super(directoryType, name);
}
public boolean isImageDirectory()
{
return false;
}
}
}
public static final ExifDirectoryType TIFF_DIRECTORY_IFD0 = new ExifDirectoryType.Image(
DIRECTORY_TYPE_DIR_0, "IFD0");
public static final ExifDirectoryType EXIF_DIRECTORY_IFD0 = TIFF_DIRECTORY_IFD0;
public static final ExifDirectoryType TIFF_DIRECTORY_ROOT = TIFF_DIRECTORY_IFD0;
public static final ExifDirectoryType TIFF_DIRECTORY_IFD1 = new ExifDirectoryType.Image(
DIRECTORY_TYPE_DIR_1, "IFD1");
public static final ExifDirectoryType EXIF_DIRECTORY_IFD1 = TIFF_DIRECTORY_IFD1;
public static final ExifDirectoryType TIFF_DIRECTORY_IFD2 = new ExifDirectoryType.Image(
DIRECTORY_TYPE_DIR_2, "IFD2");
public static final ExifDirectoryType EXIF_DIRECTORY_IFD2 = TIFF_DIRECTORY_IFD2;
public static final ExifDirectoryType TIFF_DIRECTORY_IFD3 = new ExifDirectoryType.Image(
DIRECTORY_TYPE_DIR_3, "IFD3");
public static final ExifDirectoryType EXIF_DIRECTORY_IFD3 = TIFF_DIRECTORY_IFD3;
public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD = TIFF_DIRECTORY_IFD1;
public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD1 = TIFF_DIRECTORY_IFD2;
public static final ExifDirectoryType EXIF_DIRECTORY_SUB_IFD2 = TIFF_DIRECTORY_IFD3;
public static final ExifDirectoryType EXIF_DIRECTORY_INTEROP_IFD = new ExifDirectoryType.Special(
DIRECTORY_TYPE_INTEROPERABILITY, "Interop IFD");
public static final ExifDirectoryType EXIF_DIRECTORY_MAKER_NOTES = new ExifDirectoryType.Special(
DIRECTORY_TYPE_MAKER_NOTES, "Maker Notes");
public static final ExifDirectoryType EXIF_DIRECTORY_EXIF_IFD = new ExifDirectoryType.Special(
DIRECTORY_TYPE_EXIF, "Exif IFD");
public static final ExifDirectoryType EXIF_DIRECTORY_GPS = new ExifDirectoryType.Special(
DIRECTORY_TYPE_GPS, "GPS IFD");
public static final ExifDirectoryType EXIF_DIRECTORY_UNKNOWN = null;
public static final ExifDirectoryType EXIF_DIRECTORIES[] = {
TIFF_DIRECTORY_ROOT, EXIF_DIRECTORY_EXIF_IFD, TIFF_DIRECTORY_IFD0,
EXIF_DIRECTORY_IFD0, TIFF_DIRECTORY_IFD1, EXIF_DIRECTORY_IFD1,
TIFF_DIRECTORY_IFD2, EXIF_DIRECTORY_IFD2,
EXIF_DIRECTORY_INTEROP_IFD, EXIF_DIRECTORY_MAKER_NOTES,
EXIF_DIRECTORY_SUB_IFD, EXIF_DIRECTORY_SUB_IFD1,
EXIF_DIRECTORY_SUB_IFD2,
//EXIF_DIRECTORY_UNKNOWN,
EXIF_DIRECTORY_GPS,
};
}