Class ReadMetadataUtilities
Object
ReadMetadataUtilities
Reads various image properties from tags in
Metadata
.- Author:
- Owen Feehan
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends com.drew.metadata.Directory>
Optional<com.drew.metadata.Directory> findDirectoryWithName
(com.drew.metadata.Metadata metadata, Class<T> directoryType, String directoryName) Finds the firstDirectory
in the metadata with typedirectoryType
and whose name is equal todirectoryName
.readDate
(com.drew.metadata.Directory directory, int tag) Reads a metadata entry of typeDate
from aDirectory
.static <T extends com.drew.metadata.Directory>
Optional<ZonedDateTime> readDate
(com.drew.metadata.Metadata metadata, Class<T> directoryType, int[] tagsAcqusitionDate, int[] tagsTimezoneOffset) Reads a metadata entry of typeDate
from the first directory of typedirectoryType
.readFromWidthHeightTags
(com.drew.metadata.Directory directory, int tagWidth, int tagHeight) Reads two metadata entries, representing width and height, and use them to form aExtent
.readFromWidthHeightTags
(com.drew.metadata.Metadata metadata, Class<T> directoryType, int tagWidth, int tagHeight) Reads two metadata entries, representing width and height, and use them to form aExtent
.readInt
(com.drew.metadata.Directory directory, int tag) Reads a metadata entry of typeint
from aDirectory
.Reads a metadata entry of typeint
from the first directory of typedirectoryType
.static Optional
<com.drew.metadata.Metadata> readMetadata
(Path path) Reads metadata, if it exists, from an image.
-
Method Details
-
readMetadata
Reads metadata, if it exists, from an image.- Parameters:
path
- the path to the image.- Returns:
- the metadata, if it exists.
- Throws:
ImageIOException
- if something goes wrong processing the metadata.
-
findDirectoryWithName
public static <T extends com.drew.metadata.Directory> Optional<com.drew.metadata.Directory> findDirectoryWithName(com.drew.metadata.Metadata metadata, Class<T> directoryType, String directoryName) Finds the firstDirectory
in the metadata with typedirectoryType
and whose name is equal todirectoryName
.- Type Parameters:
T
- directory-type to find- Parameters:
metadata
- the metadata to read from.directoryType
- class corresponding toT
.directoryName
- the name of the directory, which must match, case insensitive.- Returns:
- the first directory that matches, if it exists.
-
readInt
public static <T extends com.drew.metadata.Directory> Optional<Integer> readInt(com.drew.metadata.Metadata metadata, Class<T> directoryType, int tag) Reads a metadata entry of typeint
from the first directory of typedirectoryType
.- Type Parameters:
T
- directory-type to find- Parameters:
metadata
- the metadata to read from.directoryType
- class corresponding toT
.tag
- a unique identifier from the metadata-extractor library identifying which tag to read.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist.
-
readDate
public static <T extends com.drew.metadata.Directory> Optional<ZonedDateTime> readDate(com.drew.metadata.Metadata metadata, Class<T> directoryType, int[] tagsAcqusitionDate, int[] tagsTimezoneOffset) Reads a metadata entry of typeDate
from the first directory of typedirectoryType
.If no timezone offset is specified in the metadata, the current time-zone is used.
- Type Parameters:
T
- directory-type to find- Parameters:
metadata
- the metadata to read from.directoryType
- class corresponding toT
.tagsAcqusitionDate
- unique identifiers from the metadata-extractor library identifying which tag(s) to read (in order). Once a single tag is found, no further tags are tried.tagsTimezoneOffset
- similar totagsAcqusitionDate
but instead identifies a time-zone offset.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist.
-
readInt
Reads a metadata entry of typeint
from aDirectory
.- Parameters:
directory
- the directory to read from.tag
- a unique identifier from the metadata-extractor library identifying which tag to read.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist.
-
readDate
Reads a metadata entry of typeDate
from aDirectory
.- Parameters:
directory
- the directory to read from.tag
- a unique identifier from the metadata-extractor library identifying which tag to read.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist.
-
readFromWidthHeightTags
public static <T extends com.drew.metadata.Directory> Optional<Extent> readFromWidthHeightTags(com.drew.metadata.Metadata metadata, Class<T> directoryType, int tagWidth, int tagHeight) throws ImageIOException Reads two metadata entries, representing width and height, and use them to form aExtent
.The first directory of type
directoryType
is used for the tags.- Type Parameters:
T
- directory-type to find- Parameters:
metadata
- the metadata to read from.directoryType
- class corresponding toT
.tagWidth
- a unique identifier from the metadata-extractor library identifying the width tag.tagHeight
- a unique identifier from the metadata-extractor library identifying the height tag.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist. - Throws:
ImageIOException
- if the metadata is errored (but not if it is absent).
-
readFromWidthHeightTags
public static Optional<Extent> readFromWidthHeightTags(com.drew.metadata.Directory directory, int tagWidth, int tagHeight) throws ImageIOException Reads two metadata entries, representing width and height, and use them to form aExtent
.- Parameters:
directory
- the directory to read tags from.tagWidth
- a unique identifier from the metadata-extractor library identifying the width tag.tagHeight
- a unique identifier from the metadata-extractor library identifying the height tag.- Returns:
- the value of the tag, or
Optional.empty()
if it does not exist. - Throws:
ImageIOException
- if the metadata is errored (but not if it is absent).
-