public abstract class Directory
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.Collection<Tag> |
_definedTagList
A convenient list holding tag values in the order in which they were stored.
|
protected TagDescriptor |
_descriptor
The descriptor used to interpret tag values.
|
protected java.util.Map<java.lang.Integer,java.lang.Object> |
_tagMap
Map of values hashed by type identifiers.
|
Modifier | Constructor and Description |
---|---|
protected |
Directory() |
Modifier and Type | Method and Description |
---|---|
void |
addError(java.lang.String message)
Registers an error message with this directory.
|
boolean |
containsTag(int tagType)
Indicates whether the specified tag type has been set.
|
boolean |
getBoolean(int tagType)
Returns the specified tag's value as a boolean, if possible.
|
java.lang.Boolean |
getBooleanObject(int tagType)
Returns the specified tag's value as a boolean.
|
byte[] |
getByteArray(int tagType)
Gets the specified tag's value as an byte array, if possible.
|
java.util.Date |
getDate(int tagType)
Returns the specified tag's value as a java.util.Date.
|
java.util.Date |
getDate(int tagType,
java.util.TimeZone timeZone)
Returns the specified tag's value as a java.util.Date.
|
java.lang.String |
getDescription(int tagType)
Provides a description of a tag's value using the descriptor set by
setDescriptor(Descriptor) . |
double |
getDouble(int tagType)
Returns the specified tag's value as a double, if possible.
|
java.lang.Double |
getDoubleObject(int tagType)
Returns the specified tag's value as a Double.
|
int |
getErrorCount()
Returns the count of error messages in this directory.
|
java.lang.Iterable<java.lang.String> |
getErrors()
Used to iterate over any error messages contained in this directory.
|
float |
getFloat(int tagType)
Returns the specified tag's value as a float, if possible.
|
java.lang.Float |
getFloatObject(int tagType)
Returns the specified tag's value as a float.
|
int |
getInt(int tagType)
Returns the specified tag's value as an int, if possible.
|
int[] |
getIntArray(int tagType)
Gets the specified tag's value as an int array, if possible.
|
java.lang.Integer |
getInteger(int tagType)
Returns the specified tag's value as an Integer, if possible.
|
long |
getLong(int tagType)
Returns the specified tag's value as a long, if possible.
|
java.lang.Long |
getLongObject(int tagType)
Returns the specified tag's value as a long.
|
abstract java.lang.String |
getName()
Provides the name of the directory, for display purposes.
|
java.lang.Object |
getObject(int tagType)
Returns the object hashed for the particular tag type specified, if available.
|
Rational |
getRational(int tagType)
Returns the specified tag's value as a Rational.
|
Rational[] |
getRationalArray(int tagType)
Returns the specified tag's value as an array of Rational.
|
java.lang.String |
getString(int tagType)
Returns the specified tag's value as a String.
|
java.lang.String |
getString(int tagType,
java.lang.String charset) |
java.lang.String[] |
getStringArray(int tagType)
Gets the specified tag's value as a String array, if possible.
|
int |
getTagCount()
Returns the number of tags set in this Directory.
|
java.lang.String |
getTagName(int tagType)
Returns the name of a specified tag as a String.
|
protected abstract java.util.HashMap<java.lang.Integer,java.lang.String> |
getTagNameMap()
Provides the map of tag names, hashed by tag type identifier.
|
java.util.Collection<Tag> |
getTags()
Returns an Iterator of Tag instances that have been set in this Directory.
|
boolean |
hasErrors()
Gets a value indicating whether this directory has any error messages.
|
void |
setBoolean(int tagType,
boolean value)
Sets a
boolean value for the specified tag. |
void |
setByteArray(int tagType,
byte[] bytes)
Sets a
byte[] (array) for the specified tag. |
void |
setDate(int tagType,
java.util.Date value)
Sets a
java.util.Date value for the specified tag. |
void |
setDescriptor(TagDescriptor descriptor)
Sets the descriptor used to interpret tag values.
|
void |
setDouble(int tagType,
double value)
Sets a
double value for the specified tag. |
void |
setDoubleArray(int tagType,
double[] doubles)
Sets a
double[] (array) for the specified tag. |
void |
setFloat(int tagType,
float value)
Sets a
float value for the specified tag. |
void |
setFloatArray(int tagType,
float[] floats)
Sets a
float[] (array) for the specified tag. |
void |
setInt(int tagType,
int value)
Sets an
int value for the specified tag. |
void |
setIntArray(int tagType,
int[] ints)
Sets an
int[] (array) for the specified tag. |
void |
setLong(int tagType,
long value)
Sets a
long value for the specified tag. |
void |
setObject(int tagType,
java.lang.Object value)
Sets a
Object for the specified tag. |
void |
setObjectArray(int tagType,
java.lang.Object array)
Sets an array
Object for the specified tag. |
void |
setRational(int tagType,
Rational rational)
Sets a
Rational value for the specified tag. |
void |
setRationalArray(int tagType,
Rational[] rationals)
Sets a
Rational[] (array) for the specified tag. |
void |
setString(int tagType,
java.lang.String value)
Sets a
String value for the specified tag. |
void |
setStringArray(int tagType,
java.lang.String[] strings)
Sets a
String[] (array) for the specified tag. |
protected final java.util.Map<java.lang.Integer,java.lang.Object> _tagMap
protected final java.util.Collection<Tag> _definedTagList
protected TagDescriptor _descriptor
public abstract java.lang.String getName()
Exif
protected abstract java.util.HashMap<java.lang.Integer,java.lang.String> getTagNameMap()
public boolean containsTag(int tagType)
tagType
- the tag type to check forpublic java.util.Collection<Tag> getTags()
public int getTagCount()
public void setDescriptor(TagDescriptor descriptor)
descriptor
- the descriptor used to interpret tag valuespublic void addError(java.lang.String message)
message
- an error message.public boolean hasErrors()
public java.lang.Iterable<java.lang.String> getErrors()
public int getErrorCount()
public void setInt(int tagType, int value)
int
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as an intpublic void setIntArray(int tagType, int[] ints)
int[]
(array) for the specified tag.tagType
- the tag identifierints
- the int array to storepublic void setFloat(int tagType, float value)
float
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a floatpublic void setFloatArray(int tagType, float[] floats)
float[]
(array) for the specified tag.tagType
- the tag identifierfloats
- the float array to storepublic void setDouble(int tagType, double value)
double
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a doublepublic void setDoubleArray(int tagType, double[] doubles)
double[]
(array) for the specified tag.tagType
- the tag identifierdoubles
- the double array to storepublic void setString(int tagType, java.lang.String value)
String
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a Stringpublic void setStringArray(int tagType, java.lang.String[] strings)
String[]
(array) for the specified tag.tagType
- the tag identifierstrings
- the String array to storepublic void setBoolean(int tagType, boolean value)
boolean
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a booleanpublic void setLong(int tagType, long value)
long
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a longpublic void setDate(int tagType, java.util.Date value)
java.util.Date
value for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tag as a java.util.Datepublic void setRational(int tagType, Rational rational)
Rational
value for the specified tag.tagType
- the tag's value as an intrational
- rational numberpublic void setRationalArray(int tagType, Rational[] rationals)
Rational[]
(array) for the specified tag.tagType
- the tag identifierrationals
- the Rational array to storepublic void setByteArray(int tagType, byte[] bytes)
byte[]
(array) for the specified tag.tagType
- the tag identifierbytes
- the byte array to storepublic void setObject(int tagType, java.lang.Object value)
Object
for the specified tag.tagType
- the tag's value as an intvalue
- the value for the specified tagjava.lang.NullPointerException
- if value is null
public void setObjectArray(int tagType, java.lang.Object array)
Object
for the specified tag.tagType
- the tag's value as an intarray
- the array of values for the specified tagpublic int getInt(int tagType) throws MetadataException
MetadataException
- if no value exists for tagType or if it cannot be converted to an int.public java.lang.Integer getInteger(int tagType)
null
is returned.public java.lang.String[] getStringArray(int tagType)
tagType
- the tag identifiernull
is returned.public int[] getIntArray(int tagType)
tagType
- the tag identifierpublic byte[] getByteArray(int tagType)
tagType
- the tag identifierpublic double getDouble(int tagType) throws MetadataException
MetadataException
public java.lang.Double getDoubleObject(int tagType)
null
is returned.public float getFloat(int tagType) throws MetadataException
MetadataException
public java.lang.Float getFloatObject(int tagType)
null
is returned.public long getLong(int tagType) throws MetadataException
MetadataException
public java.lang.Long getLongObject(int tagType)
null
is returned.public boolean getBoolean(int tagType) throws MetadataException
MetadataException
public java.lang.Boolean getBooleanObject(int tagType)
null
is returned.public java.util.Date getDate(int tagType)
null
is returned.
If the underlying value is a String
, then attempts will be made to parse the string as though it is in
the current TimeZone
. If the TimeZone
is known, call the overload that accepts one as an argument.public java.util.Date getDate(int tagType, java.util.TimeZone timeZone)
null
is returned.
If the underlying value is a String
, then attempts will be made to parse the string as though it is in
the TimeZone
represented by the timeZone
parameter (if it is non-null). Note that this parameter
is only considered if the underlying value is a string and parsing occurs, otherwise it has no effect.public Rational getRational(int tagType)
null
is returned.public Rational[] getRationalArray(int tagType)
null
is returned.public java.lang.String getString(int tagType)
null
if the tag hasn't been defined.public java.lang.String getString(int tagType, java.lang.String charset)
public java.lang.Object getObject(int tagType)
tagType
- the tag type identifiernull
public java.lang.String getTagName(int tagType)
tagType
- the tag type identifierpublic java.lang.String getDescription(int tagType)
setDescriptor(Descriptor)
.tagType
- the tag type identifierCopyright © 2002-2013 Drew Noakes. All Rights Reserved.