ar.com.hjg.pngj.chunks
Class ChunksList

java.lang.Object
  extended by ar.com.hjg.pngj.chunks.ChunksList
Direct Known Subclasses:
ChunksListForWrite

public class ChunksList
extends java.lang.Object

All chunks that form an image, read or to be written.

chunks include all chunks, but IDAT is a single pseudo chunk without data


Field Summary
static int CHUNK_GROUP_0_IDHR
           
static int CHUNK_GROUP_1_AFTERIDHR
           
static int CHUNK_GROUP_2_PLTE
           
static int CHUNK_GROUP_3_AFTERPLTE
           
static int CHUNK_GROUP_4_IDAT
           
static int CHUNK_GROUP_5_AFTERIDAT
           
static int CHUNK_GROUP_6_END
           
 
Constructor Summary
ChunksList(ImageInfo imfinfo)
           
 
Method Summary
 void appendReadChunk(PngChunk chunk, int chunkGroup)
          Adds chunk in next position.
 java.util.List<? extends PngChunk> getById(java.lang.String id)
          All chunks with this ID
 java.util.List<? extends PngChunk> getById(java.lang.String id, java.lang.String innerid)
          If innerid!
 PngChunk getById1(java.lang.String id)
          Returns only one chunk
 PngChunk getById1(java.lang.String id, boolean failIfMultiple)
          Returns only one chunk or null if nothing found - does not include queued If more than one chunk is found, then an exception is thrown (failifMultiple=true or chunk is single) or the last one is returned (failifMultiple=false)
 PngChunk getById1(java.lang.String id, java.lang.String innerid, boolean failIfMultiple)
          Returns only one chunk or null if nothing found - does not include queued If more than one chunk (after filtering by inner id) is found, then an exception is thrown (failifMultiple=true or chunk is single) or the last one is returned (failifMultiple=false)
 java.util.ArrayList<PngChunk> getChunks()
          Returns a copy of the list (but the chunks are not copied) This should not be used for general metadata handling
 java.util.HashMap<java.lang.String,java.lang.Integer> getChunksKeys()
          Keys of processed (read or writen) chunks
 java.util.List<PngChunk> getEquivalent(PngChunk c2)
          Finds all chunks "equivalent" to this one
 java.lang.String toString()
           
 java.lang.String toStringFull()
          for debugging
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CHUNK_GROUP_0_IDHR

public static final int CHUNK_GROUP_0_IDHR
See Also:
Constant Field Values

CHUNK_GROUP_1_AFTERIDHR

public static final int CHUNK_GROUP_1_AFTERIDHR
See Also:
Constant Field Values

CHUNK_GROUP_2_PLTE

public static final int CHUNK_GROUP_2_PLTE
See Also:
Constant Field Values

CHUNK_GROUP_3_AFTERPLTE

public static final int CHUNK_GROUP_3_AFTERPLTE
See Also:
Constant Field Values

CHUNK_GROUP_4_IDAT

public static final int CHUNK_GROUP_4_IDAT
See Also:
Constant Field Values

CHUNK_GROUP_5_AFTERIDAT

public static final int CHUNK_GROUP_5_AFTERIDAT
See Also:
Constant Field Values

CHUNK_GROUP_6_END

public static final int CHUNK_GROUP_6_END
See Also:
Constant Field Values
Constructor Detail

ChunksList

public ChunksList(ImageInfo imfinfo)
Method Detail

appendReadChunk

public void appendReadChunk(PngChunk chunk,
                            int chunkGroup)
Adds chunk in next position. This is used onyl by the pngReader


getById

public java.util.List<? extends PngChunk> getById(java.lang.String id)
All chunks with this ID

Parameters:
id -
Returns:
List, empty if none

getById

public java.util.List<? extends PngChunk> getById(java.lang.String id,
                                                  java.lang.String innerid)
If innerid!=null and the chunk is PngChunkTextVar or PngChunkSPLT, it's filtered by that id

Parameters:
id -
Returns:
innerid Only used for text and SPLT chunks

getById1

public PngChunk getById1(java.lang.String id)
Returns only one chunk

Parameters:
id -
Returns:
First chunk found, null if not found

getById1

public PngChunk getById1(java.lang.String id,
                         boolean failIfMultiple)
Returns only one chunk or null if nothing found - does not include queued

If more than one chunk is found, then an exception is thrown (failifMultiple=true or chunk is single) or the last one is returned (failifMultiple=false)


getById1

public PngChunk getById1(java.lang.String id,
                         java.lang.String innerid,
                         boolean failIfMultiple)
Returns only one chunk or null if nothing found - does not include queued

If more than one chunk (after filtering by inner id) is found, then an exception is thrown (failifMultiple=true or chunk is single) or the last one is returned (failifMultiple=false)


getChunks

public java.util.ArrayList<PngChunk> getChunks()
Returns a copy of the list (but the chunks are not copied) This should not be used for general metadata handling


getChunksKeys

public java.util.HashMap<java.lang.String,java.lang.Integer> getChunksKeys()
Keys of processed (read or writen) chunks

Returns:
key:chunk id, val: number of occurrences

getEquivalent

public java.util.List<PngChunk> getEquivalent(PngChunk c2)
Finds all chunks "equivalent" to this one

Parameters:
c2 -
Returns:
Empty if nothing found

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toStringFull

public java.lang.String toStringFull()
for debugging