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.IOException
public static java.awt.image.BufferedImage extractThumbnail(java.io.InputStream is) throws java.io.IOException
java.io.IOException
public static java.util.Collection<java.awt.image.BufferedImage> extractThumbnails(java.io.File image) throws java.io.IOException
java.io.IOException
public static java.util.Collection<java.awt.image.BufferedImage> extractThumbnails(java.io.InputStream is) throws java.io.IOException
java.io.IOException
public static void extractThumbnails(java.io.File image, java.lang.String pathToThumbnail) throws java.io.IOException
java.io.IOException
public static void extractThumbnails(java.io.InputStream is, java.lang.String pathToThumbnail) throws java.io.IOException
java.io.IOException
public static void extractThumbnails(java.lang.String image, java.lang.String pathToThumbnail) throws java.io.IOException
java.io.IOException
public static void insertComment(java.io.InputStream is, java.io.OutputStream os, java.lang.String comment) throws java.io.IOException
java.io.IOException
public static void insertComments(java.io.InputStream is, java.io.OutputStream os, java.util.List<java.lang.String> comments) throws java.io.IOException
java.io.IOException
public static void insertExif(java.io.InputStream is, java.io.OutputStream os, Exif exif) throws java.io.IOException
java.io.IOException
public 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.IOException
public static void insertICCProfile(java.io.InputStream is, java.io.OutputStream out, java.awt.color.ICC_Profile icc_profile) throws java.io.IOException
java.io.IOException
public static void insertICCProfile(java.io.InputStream is, java.io.OutputStream out, byte[] icc_profile) throws java.io.IOException
java.io.IOException
public static void insertIPTC(java.io.InputStream is, java.io.OutputStream out, java.util.Collection<IPTCDataSet> iptcs) throws java.io.IOException
java.io.IOException
public static void insertIPTC(java.io.InputStream is, java.io.OutputStream out, java.util.Collection<IPTCDataSet> iptcs, boolean update) throws java.io.IOException
java.io.IOException
public static void insertIRB(java.io.InputStream is, java.io.OutputStream out, java.util.Collection<_8BIM> bims) throws java.io.IOException
java.io.IOException
public static void insertIRB(java.io.InputStream is, java.io.OutputStream out, java.util.Collection<_8BIM> bims, boolean update) throws java.io.IOException
java.io.IOException
public static void insertIRBThumbnail(java.io.InputStream is, java.io.OutputStream out, java.awt.image.BufferedImage thumbnail) throws java.io.IOException
java.io.IOException
public static void insertXMP(java.io.InputStream is, java.io.OutputStream out, XMP xmp) throws java.io.IOException
java.io.IOException
public 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.IOException
public static void insertXMP(java.io.InputStream is, java.io.OutputStream out, java.lang.String xmp) throws java.io.IOException
java.io.IOException
public 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.IOException
public static java.util.Map<MetadataType,Metadata> readMetadata(java.io.InputStream is) throws java.io.IOException
is
- InputStream for the imagejava.io.IOException
public static java.util.Map<MetadataType,Metadata> readMetadata(java.lang.String image) throws java.io.IOException
java.io.IOException
public 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.IOException
public void ensureDataRead()
ensureDataRead
in interface MetadataReader
public byte[] getData()
public MetadataType getType()
getType
in interface MetadataReader
public boolean isDataRead()
isDataRead
in interface MetadataReader
public void write(java.io.OutputStream out) throws java.io.IOException
out
- OutputStream to write the metadata tojava.io.IOException