Class TagDescriptor<T extends Directory>

java.lang.Object
com.drew.metadata.TagDescriptor<T>
Direct Known Subclasses:
AdobeJpegDescriptor, AppleMakernoteDescriptor, AppleRunTimeMakernoteDescriptor, AviDescriptor, BmpHeaderDescriptor, CanonMakernoteDescriptor, CasioType1MakernoteDescriptor, CasioType2MakernoteDescriptor, EpsDescriptor, ExifDescriptorBase, FileSystemDescriptor, FileTypeDescriptor, FujifilmMakernoteDescriptor, GifAnimationDescriptor, GifCommentDescriptor, GifControlDescriptor, GifHeaderDescriptor, GifImageDescriptor, GpsDescriptor, HeifDescriptor, HuffmanTablesDescriptor, IccDescriptor, IcoDescriptor, IptcDescriptor, JfifDescriptor, JfxxDescriptor, JpegCommentDescriptor, JpegDescriptor, KodakMakernoteDescriptor, KyoceraMakernoteDescriptor, LeicaMakernoteDescriptor, LeicaType5MakernoteDescriptor, Mp3Descriptor, Mp4Descriptor, Mp4HintDescriptor, Mp4MetaDescriptor, Mp4SoundDescriptor, Mp4TextDescriptor, Mp4UuidBoxDescriptor, Mp4VideoDescriptor, NikonPictureControl1Descriptor, NikonPictureControl2Descriptor, NikonType1MakernoteDescriptor, NikonType2MakernoteDescriptor, OlympusCameraSettingsMakernoteDescriptor, OlympusEquipmentMakernoteDescriptor, OlympusFocusInfoMakernoteDescriptor, OlympusImageProcessingMakernoteDescriptor, OlympusMakernoteDescriptor, OlympusRawDevelopment2MakernoteDescriptor, OlympusRawDevelopmentMakernoteDescriptor, OlympusRawInfoMakernoteDescriptor, PanasonicMakernoteDescriptor, PanasonicRawDistortionDescriptor, PanasonicRawIFD0Descriptor, PanasonicRawWbInfo2Descriptor, PanasonicRawWbInfoDescriptor, PcxDescriptor, PentaxMakernoteDescriptor, PhotoshopDescriptor, PngDescriptor, PrintIMDescriptor, PsdHeaderDescriptor, QuickTimeDescriptor, ReconyxHyperFire2MakernoteDescriptor, ReconyxHyperFireMakernoteDescriptor, ReconyxUltraFireMakernoteDescriptor, RicohMakernoteDescriptor, SamsungType2MakernoteDescriptor, SanyoMakernoteDescriptor, SigmaMakernoteDescriptor, SonyTag9050bDescriptor, SonyType1MakernoteDescriptor, SonyType6MakernoteDescriptor, WavDescriptor, WebpDescriptor, XmpDescriptor

public class TagDescriptor<T extends Directory> extends Object
Base class for all tag descriptor classes. Implementations are responsible for providing the human-readable string representation of tag values stored in a directory. The directory is provided to the tag descriptor via its constructor.
Author:
Drew Noakes https://drewnoakes.com
  • Constructor Details

    • TagDescriptor

      public TagDescriptor(T directory)
  • Method Details

    • getDescription

      public String getDescription(int tagType)
      Returns a descriptive value of the specified tag for this image. Where possible, known values will be substituted here in place of the raw tokens actually kept in the metadata segment. If no substitution is available, the value provided by getString(tagType) will be returned.
      Parameters:
      tagType - the tag to find a description for
      Returns:
      a description of the image's value for the specified tag, or null if the tag hasn't been defined.
    • convertBytesToVersionString

      public static String convertBytesToVersionString(int[] components, int majorDigits)
      Takes a series of 4 bytes from the specified offset, and converts these to a well-known version number, where possible.

      Two different formats are processed:

      • [30 32 31 30] -> 2.10
      • [0 1 0 0] -> 1.00
      Parameters:
      components - the four version values
      majorDigits - the number of components to be
      Returns:
      the version as a string of form "2.10" or null if the argument cannot be converted