icc.tags
Class ICCTagTable

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--icc.tags.ICCTagTable
All Implemented Interfaces:
java.lang.Cloneable, java.util.Map, java.io.Serializable

public class ICCTagTable
extends java.util.Hashtable

This class models an ICCTagTable as a HashTable which maps ICCTag signatures (as Integers) to ICCTags. On disk the tag table exists as a byte array conventionally aggragted into a structured sequence of types (bytes, shorts, ints, and floats. The first four bytes are the integer count of tags in the table. This is followed by an array of triplets, one for each tag. The triplets each contain three integers, which are the tag signature, the offset of the tag in the byte array and the length of the tag in bytes. The tag data follows. Each tag consists of an integer (4 bytes) tag type, a reserved integer and the tag data, which varies depending on the tag.

See Also:
jj2000.j2k.icc.tags.ICCTag, Serialized Form

Nested Class Summary
private static class ICCTagTable.Triplet
           
 
Nested classes inherited from class java.util.Hashtable
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
private static java.lang.String eol
           
private static int offTagCount
           
private static int offTags
           
private  int tagCount
           
private  java.util.Vector trios
           
 
Fields inherited from class java.util.Hashtable
 
Constructor Summary
protected ICCTagTable(byte[] data)
          Ctor used by factory method.
 
Method Summary
static ICCTagTable createInstance(byte[] data)
          Factory method for creating a tag table from raw input.
 java.lang.String toString()
          Representation of a tag table
 void write(java.io.RandomAccessFile raf)
          Output the table to a disk
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

eol

private static final java.lang.String eol

offTagCount

private static final int offTagCount
See Also:
Constant Field Values

offTags

private static final int offTags
See Also:
Constant Field Values

trios

private final java.util.Vector trios

tagCount

private int tagCount
Constructor Detail

ICCTagTable

protected ICCTagTable(byte[] data)
Ctor used by factory method.

Method Detail

toString

public java.lang.String toString()
Representation of a tag table

Overrides:
toString in class java.util.Hashtable
Returns:
String

createInstance

public static ICCTagTable createInstance(byte[] data)
Factory method for creating a tag table from raw input.

Returns:
ICCTagTable

write

public void write(java.io.RandomAccessFile raf)
           throws java.io.IOException
Output the table to a disk

Parameters:
raf - RandomAccessFile which receives the table.
Throws:
java.io.IOException