edu.harvard.hul.ois.jhove.module.iff
Class Superchunk

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.module.iff.Chunk
      extended by edu.harvard.hul.ois.jhove.module.iff.Superchunk
Direct Known Subclasses:
AssocDataListChunk, ListInfoChunk

public abstract class Superchunk
extends Chunk

Abstract class for a chunk that contains other chunks. It is assumed that the nested chunks come last in the chunk, so that once you start reading chunks, reaching the end of the superchunk is the indicator that there are no more chunks to read.

Author:
Gary McGath

Field Summary
 
Fields inherited from class edu.harvard.hul.ois.jhove.module.iff.Chunk
_dstream, _module, bytesLeft
 
Constructor Summary
Superchunk(ModuleBase module, ChunkHeader hdr, java.io.DataInputStream dstrm, RepInfo info)
          Constructor.
 
Method Summary
 ChunkHeader getNextChunkHeader()
          Reads and returns the next ChunkHeader within this Chunk, and takes care of byte counting.
 
Methods inherited from class edu.harvard.hul.ois.jhove.module.iff.Chunk
byteBufString, readChunk
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Superchunk

public Superchunk(ModuleBase module,
                  ChunkHeader hdr,
                  java.io.DataInputStream dstrm,
                  RepInfo info)
Constructor.

Parameters:
module - The WaveModule under which this was called
hdr - The header for this chunk
dstrm - The stream from which the WAVE data are being read
info - RepInfo object for error reporting
Method Detail

getNextChunkHeader

public ChunkHeader getNextChunkHeader()
                               throws java.io.IOException
Reads and returns the next ChunkHeader within this Chunk, and takes care of byte counting. If this Chunk is exhausted, returns null.

Throws:
java.io.IOException