Class TIFFWriter
- java.lang.Object
-
- com.twelvemonkeys.imageio.metadata.MetadataWriter
-
- com.twelvemonkeys.imageio.metadata.tiff.TIFFWriter
-
public final class TIFFWriter extends MetadataWriter
TIFFWriter- Version:
- $Id: TIFFWriter.java,v 1.0 17.07.13 10:20 haraldk Exp$
-
-
Field Summary
Fields Modifier and Type Field Description private int
directoryCountLength
private long
entryLength
private boolean
longOffsets
private static int
LONGWORD_LENGTH
private int
offsetSize
private static int
WORD_LENGTH
-
Constructor Summary
Constructors Constructor Description TIFFWriter()
TIFFWriter(int offsetSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
assertIntegerOffset(long offset)
private long
assertLongOffset(long offset)
private long
computeDataSize(Directory directory)
long
computeIFDSize(java.util.Collection<? extends Entry> directory)
private int
computeStringLength(java.lang.String... values)
private Directory
ensureOrderedDirectory(Directory directory)
private int
getCount(Entry entry)
private boolean
isSorted(Directory directory)
int
offsetSize()
boolean
write(Directory directory, javax.imageio.stream.ImageOutputStream stream)
boolean
write(java.util.Collection<? extends Entry> entries, javax.imageio.stream.ImageOutputStream stream)
private void
writeDirectoryCount(javax.imageio.stream.ImageOutputStream stream, int count)
private long
writeIFD(Directory original, javax.imageio.stream.ImageOutputStream stream, boolean isSubIFD)
long
writeIFD(java.util.Collection<Entry> entries, javax.imageio.stream.ImageOutputStream stream)
void
writeOffset(javax.imageio.stream.ImageOutputStream output, long offset)
private void
writeStrings(javax.imageio.stream.ImageOutputStream stream, java.lang.String... values)
void
writeTIFFHeader(javax.imageio.stream.ImageOutputStream stream)
private long
writeValue(Entry entry, long dataOffset, javax.imageio.stream.ImageOutputStream stream)
private void
writeValueAt(long dataOffset, java.lang.Object value, short type, javax.imageio.stream.ImageOutputStream stream)
private void
writeValueCount(javax.imageio.stream.ImageOutputStream stream, int count)
private void
writeValueInline(java.lang.Object value, short type, javax.imageio.stream.ImageOutputStream stream)
-
-
-
Field Detail
-
WORD_LENGTH
private static final int WORD_LENGTH
- See Also:
- Constant Field Values
-
LONGWORD_LENGTH
private static final int LONGWORD_LENGTH
- See Also:
- Constant Field Values
-
longOffsets
private final boolean longOffsets
-
offsetSize
private final int offsetSize
-
entryLength
private final long entryLength
-
directoryCountLength
private final int directoryCountLength
-
-
Method Detail
-
write
public boolean write(java.util.Collection<? extends Entry> entries, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
write
public boolean write(Directory directory, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Specified by:
write
in classMetadataWriter
- Throws:
java.io.IOException
-
writeTIFFHeader
public void writeTIFFHeader(javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
writeIFD
public long writeIFD(java.util.Collection<Entry> entries, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
writeIFD
private long writeIFD(Directory original, javax.imageio.stream.ImageOutputStream stream, boolean isSubIFD) throws java.io.IOException
- Throws:
java.io.IOException
-
writeDirectoryCount
private void writeDirectoryCount(javax.imageio.stream.ImageOutputStream stream, int count) throws java.io.IOException
- Throws:
java.io.IOException
-
writeValueCount
private void writeValueCount(javax.imageio.stream.ImageOutputStream stream, int count) throws java.io.IOException
- Throws:
java.io.IOException
-
computeIFDSize
public long computeIFDSize(java.util.Collection<? extends Entry> directory)
-
computeDataSize
private long computeDataSize(Directory directory)
-
isSorted
private boolean isSorted(Directory directory)
-
writeValue
private long writeValue(Entry entry, long dataOffset, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
getCount
private int getCount(Entry entry)
-
computeStringLength
private int computeStringLength(java.lang.String... values)
-
writeValueInline
private void writeValueInline(java.lang.Object value, short type, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
writeStrings
private void writeStrings(javax.imageio.stream.ImageOutputStream stream, java.lang.String... values) throws java.io.IOException
- Throws:
java.io.IOException
-
writeValueAt
private void writeValueAt(long dataOffset, java.lang.Object value, short type, javax.imageio.stream.ImageOutputStream stream) throws java.io.IOException
- Throws:
java.io.IOException
-
writeOffset
public void writeOffset(javax.imageio.stream.ImageOutputStream output, long offset) throws java.io.IOException
- Throws:
java.io.IOException
-
offsetSize
public int offsetSize()
-
assertIntegerOffset
private int assertIntegerOffset(long offset) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
assertLongOffset
private long assertLongOffset(long offset) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
-