Module java.desktop
Package javax.imageio.plugins.tiff

## Class TIFFTagSet

- java.lang.Object
- - javax.imageio.plugins.tiff.TIFFTagSet

- Direct Known Subclasses:
    `BaselineTIFFTagSet`, `ExifGPSTagSet`, `ExifInteroperabilityTagSet`, `ExifParentTIFFTagSet`, `ExifTIFFTagSet`, `FaxTIFFTagSet`, `GeoTIFFTagSet`

      public class TIFFTagSet
      extends Object

  A class representing a set of TIFF tags. Each tag in the set must have a unique number (this is a limitation of the TIFF specification itself).

  This class and its subclasses are responsible for mapping between raw tag numbers and `TIFFTag` objects, which contain additional information about each tag, such as the tag's name, legal data types, and mnemonic names for some or all of its data values.

  Since:
    9
  See Also:
    `TIFFTag`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TIFFTagSet​(List<TIFFTag> tags)` | Constructs a `TIFFTagSet`, given a `List` of `TIFFTag` objects.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `TIFFTag` | `getTag​(int tagNumber)` | Returns the `TIFFTag` from this set that is associated with the given tag number, or `null` if no tag exists for that number.
    `TIFFTag` | `getTag​(String tagName)` | Returns the `TIFFTag` having the given tag name, or `null` if the named tag does not belong to this tag set.
    `SortedSet<String>` | `getTagNames()` | Retrieves an unmodifiable lexicographically increasing set of tag names.
    `SortedSet<Integer>` | `getTagNumbers()` | Retrieves an unmodifiable numerically increasing set of tag numbers.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TIFFTagSet

          public TIFFTagSet​(List<TIFFTag> tags)

      Constructs a `TIFFTagSet`, given a `List` of `TIFFTag` objects.
      Parameters:
        `tags` - a `List` object containing `TIFFTag` objects to be added to this tag set.
      Throws:
        `IllegalArgumentException` - if `tags` is `null`, or contains objects that are not instances of the `TIFFTag` class.

  - ### Method Detail

    - #### getTag

          public TIFFTag getTag​(int tagNumber)

      Returns the `TIFFTag` from this set that is associated with the given tag number, or `null` if no tag exists for that number.
      Parameters:
        `tagNumber` - the number of the tag to be retrieved.
      Returns:
        the numbered `TIFFTag`, or `null`.

    - #### getTag

          public TIFFTag getTag​(String tagName)

      Returns the `TIFFTag` having the given tag name, or `null` if the named tag does not belong to this tag set.
      Parameters:
        `tagName` - the name of the tag to be retrieved, as a `String`.
      Returns:
        the named `TIFFTag`, or `null`.
      Throws:
        `IllegalArgumentException` - if `tagName` is `null`.

    - #### getTagNumbers

          public SortedSet<Integer> getTagNumbers()

      Retrieves an unmodifiable numerically increasing set of tag numbers.

      The returned object is unmodifiable and contains the tag numbers of all `TIFFTag`s in this `TIFFTagSet` sorted into ascending order according to `Comparable.compareTo(Object)`.

      Returns:
        All tag numbers in this set.

    - #### getTagNames

          public SortedSet<String> getTagNames()

      Retrieves an unmodifiable lexicographically increasing set of tag names.

      The returned object is unmodifiable and contains the tag names of all `TIFFTag`s in this `TIFFTagSet` sorted into ascending order according to `Comparable.compareTo(Object)`.

      Returns:
        All tag names in this set.