// return tagInfo;
// }
// first search for exact match.
for (int i = 0; i < possibleMatches.size(); i++) {
TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
// pass
continue;
else if (directoryType == DIRECTORY_TYPE_EXIF
&& tagInfo.directoryType == EXIF_DIRECTORY_EXIF_IFD)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_INTEROPERABILITY
&& tagInfo.directoryType == EXIF_DIRECTORY_INTEROP_IFD)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_GPS
&& tagInfo.directoryType == EXIF_DIRECTORY_GPS)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_MAKER_NOTES
&& tagInfo.directoryType == EXIF_DIRECTORY_MAKER_NOTES)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_DIR_0
&& tagInfo.directoryType == TIFF_DIRECTORY_IFD0)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_DIR_1
&& tagInfo.directoryType == TIFF_DIRECTORY_IFD1)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_DIR_2
&& tagInfo.directoryType == TIFF_DIRECTORY_IFD2)
return tagInfo;
else if (directoryType == DIRECTORY_TYPE_DIR_3
&& tagInfo.directoryType == TIFF_DIRECTORY_IFD3)
return tagInfo;
}
// accept an inexact match.
for (int i = 0; i < possibleMatches.size(); i++) {
TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
// pass
continue;
else if (directoryType >= 0
&& tagInfo.directoryType.isImageDirectory())
return tagInfo;
else if (directoryType < 0
&& !tagInfo.directoryType.isImageDirectory())
return tagInfo;
}
// accept a wildcard match.
for (int i = 0; i < possibleMatches.size(); i++) {
TagInfo tagInfo = (TagInfo) possibleMatches.get(i);
if (tagInfo.directoryType == EXIF_DIRECTORY_UNKNOWN)
return tagInfo;
}