public abstract class Metadata extends java.lang.Object implements MetadataReader, java.lang.Iterable<MetadataEntry>
| Modifier and Type | Field and Description |
|---|---|
protected byte[] |
data |
static int |
IMAGE_MAGIC_NUMBER_LEN |
protected boolean |
isDataRead |
| Constructor and Description |
|---|
Metadata(MetadataType type) |
Metadata(MetadataType type,
byte[] data) |
| Modifier and Type | Method and Description |
|---|---|
void |
ensureDataRead() |
static java.awt.image.BufferedImage |
extractThumbnail(java.io.File image) |
static java.awt.image.BufferedImage |
extractThumbnail(java.io.InputStream is) |
static java.util.Collection<java.awt.image.BufferedImage> |
extractThumbnails(java.io.File image) |
static void |
extractThumbnails(java.io.File image,
java.lang.String pathToThumbnail) |
static java.util.Collection<java.awt.image.BufferedImage> |
extractThumbnails(java.io.InputStream is) |
static void |
extractThumbnails(java.io.InputStream is,
java.lang.String pathToThumbnail) |
static void |
extractThumbnails(java.lang.String image,
java.lang.String pathToThumbnail) |
byte[] |
getData() |
MetadataType |
getType() |
static void |
insertComment(java.io.InputStream is,
java.io.OutputStream os,
java.lang.String comment) |
static void |
insertComments(java.io.InputStream is,
java.io.OutputStream os,
java.util.List<java.lang.String> comments) |
static void |
insertExif(java.io.InputStream is,
java.io.OutputStream os,
Exif exif) |
static void |
insertExif(java.io.InputStream is,
java.io.OutputStream os,
Exif exif,
boolean update) |
static void |
insertICCProfile(java.io.InputStream is,
java.io.OutputStream out,
byte[] icc_profile) |
static void |
insertICCProfile(java.io.InputStream is,
java.io.OutputStream out,
java.awt.color.ICC_Profile icc_profile) |
static void |
insertIPTC(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<IPTCDataSet> iptcs) |
static void |
insertIPTC(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<IPTCDataSet> iptcs,
boolean update) |
static void |
insertIRB(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<_8BIM> bims) |
static void |
insertIRB(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<_8BIM> bims,
boolean update) |
static void |
insertIRBThumbnail(java.io.InputStream is,
java.io.OutputStream out,
java.awt.image.BufferedImage thumbnail) |
static void |
insertMetadata(java.util.Collection<Metadata> metadata,
java.io.InputStream is,
java.io.OutputStream os)
Insert a collection of Metadata into an image
|
static void |
insertXMP(java.io.InputStream is,
java.io.OutputStream out,
java.lang.String xmp) |
static void |
insertXMP(java.io.InputStream is,
java.io.OutputStream out,
XMP xmp) |
boolean |
isDataRead() |
abstract java.util.Iterator<MetadataEntry> |
iterator() |
static java.util.Map<MetadataType,Metadata> |
readMetadata(java.io.File image) |
static java.util.Map<MetadataType,Metadata> |
readMetadata(java.io.InputStream is)
Reads all metadata associated with the input image
|
static java.util.Map<MetadataType,Metadata> |
readMetadata(java.lang.String image) |
static java.util.Map<MetadataType,Metadata> |
removeMetadata(java.io.InputStream is,
java.io.OutputStream os,
MetadataType... metadataTypes)
Remove meta data from image
|
void |
write(java.io.OutputStream out)
Writes the metadata out to the output stream
|
public static final int IMAGE_MAGIC_NUMBER_LEN
protected byte[] data
protected boolean isDataRead
public Metadata(MetadataType type)
public Metadata(MetadataType type, byte[] data)
public static java.awt.image.BufferedImage extractThumbnail(java.io.File image)
throws java.io.IOException
java.io.IOExceptionpublic static java.awt.image.BufferedImage extractThumbnail(java.io.InputStream is)
throws java.io.IOException
java.io.IOExceptionpublic static java.util.Collection<java.awt.image.BufferedImage> extractThumbnails(java.io.File image)
throws java.io.IOException
java.io.IOExceptionpublic static java.util.Collection<java.awt.image.BufferedImage> extractThumbnails(java.io.InputStream is)
throws java.io.IOException
java.io.IOExceptionpublic static void extractThumbnails(java.io.File image,
java.lang.String pathToThumbnail)
throws java.io.IOException
java.io.IOExceptionpublic static void extractThumbnails(java.io.InputStream is,
java.lang.String pathToThumbnail)
throws java.io.IOException
java.io.IOExceptionpublic static void extractThumbnails(java.lang.String image,
java.lang.String pathToThumbnail)
throws java.io.IOException
java.io.IOExceptionpublic static void insertComment(java.io.InputStream is,
java.io.OutputStream os,
java.lang.String comment)
throws java.io.IOException
java.io.IOExceptionpublic static void insertComments(java.io.InputStream is,
java.io.OutputStream os,
java.util.List<java.lang.String> comments)
throws java.io.IOException
java.io.IOExceptionpublic static void insertExif(java.io.InputStream is,
java.io.OutputStream os,
Exif exif)
throws java.io.IOException
java.io.IOExceptionpublic static void insertExif(java.io.InputStream is,
java.io.OutputStream os,
Exif exif,
boolean update)
throws java.io.IOException
is - input image streamos - output image streamexif - Exif instanceupdate - True to keep the original data, otherwise falsejava.io.IOExceptionpublic static void insertICCProfile(java.io.InputStream is,
java.io.OutputStream out,
java.awt.color.ICC_Profile icc_profile)
throws java.io.IOException
java.io.IOExceptionpublic static void insertICCProfile(java.io.InputStream is,
java.io.OutputStream out,
byte[] icc_profile)
throws java.io.IOException
java.io.IOExceptionpublic static void insertIPTC(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<IPTCDataSet> iptcs)
throws java.io.IOException
java.io.IOExceptionpublic static void insertIPTC(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<IPTCDataSet> iptcs,
boolean update)
throws java.io.IOException
java.io.IOExceptionpublic static void insertIRB(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<_8BIM> bims)
throws java.io.IOException
java.io.IOExceptionpublic static void insertIRB(java.io.InputStream is,
java.io.OutputStream out,
java.util.Collection<_8BIM> bims,
boolean update)
throws java.io.IOException
java.io.IOExceptionpublic static void insertIRBThumbnail(java.io.InputStream is,
java.io.OutputStream out,
java.awt.image.BufferedImage thumbnail)
throws java.io.IOException
java.io.IOExceptionpublic static void insertXMP(java.io.InputStream is,
java.io.OutputStream out,
XMP xmp)
throws java.io.IOException
java.io.IOExceptionpublic static void insertMetadata(java.util.Collection<Metadata> metadata, java.io.InputStream is, java.io.OutputStream os) throws java.io.IOException
metadata - a collection of Metadata to be insertedis - InputStream for the imageos - OutputStream for the image with Metadata insertedjava.io.IOExceptionpublic static void insertXMP(java.io.InputStream is,
java.io.OutputStream out,
java.lang.String xmp)
throws java.io.IOException
java.io.IOExceptionpublic abstract java.util.Iterator<MetadataEntry> iterator()
iterator in interface java.lang.Iterable<MetadataEntry>public static java.util.Map<MetadataType,Metadata> readMetadata(java.io.File image) throws java.io.IOException
java.io.IOExceptionpublic static java.util.Map<MetadataType,Metadata> readMetadata(java.io.InputStream is) throws java.io.IOException
is - InputStream for the imagejava.io.IOExceptionpublic static java.util.Map<MetadataType,Metadata> readMetadata(java.lang.String image) throws java.io.IOException
java.io.IOExceptionpublic static java.util.Map<MetadataType,Metadata> removeMetadata(java.io.InputStream is, java.io.OutputStream os, MetadataType... metadataTypes) throws java.io.IOException
is - InputStream for the input imageos - OutputStream for the output imagejava.io.IOExceptionpublic void ensureDataRead()
ensureDataRead in interface MetadataReaderpublic byte[] getData()
public MetadataType getType()
getType in interface MetadataReaderpublic boolean isDataRead()
isDataRead in interface MetadataReaderpublic void write(java.io.OutputStream out)
throws java.io.IOException
out - OutputStream to write the metadata tojava.io.IOException