edu.harvard.hul.ois.jhove.module.jpeg2000
Class BinaryFilterBox

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.module.jpeg2000.BoxHolder
      extended by edu.harvard.hul.ois.jhove.module.jpeg2000.JP2Box
          extended by edu.harvard.hul.ois.jhove.module.jpeg2000.BinaryFilterBox
All Implemented Interfaces:
java.util.Iterator

public class BinaryFilterBox
extends JP2Box

Binary Filter box (JPX). See ISO/IEC FCD15444-2: 2000, L.9.14 A Binary Filter Box can subsume any number of other boxes, which will look to the module as if they simply replace this box. BoxHolder makes a special case of BinaryFilterBoxes, calling the getBoxStream method to extract the subsumed boxes. Only Deflate coding, not DES, is supported. It is assumed that a BinaryFilterBox is never encoded inside another BinaryFilterBox. This is untested code, due to lack of sample files; please report any bugs found to HUL/OIS.

Author:
Gary McGath

Field Summary
 
Fields inherited from class edu.harvard.hul.ois.jhove.module.jpeg2000.JP2Box
_bytesRead, associations, DESCRIPTION_NAME, noJP2Hdr, startBytesRead
 
Fields inherited from class edu.harvard.hul.ois.jhove.module.jpeg2000.BoxHolder
_boxHeader, _dstrm, _module, _parentBox, _raf, _repInfo, bytesLeft, filePos, hasBoxes
 
Constructor Summary
BinaryFilterBox(java.io.RandomAccessFile raf, JP2Box parent)
          Constructor with superbox.
 
Method Summary
 java.io.DataInputStream getBoxStream()
          returns the InputStream which will provide the decompressed boxes subsumed in this Box.
protected  java.lang.String getSelfPropName()
          Returns the name of the Box.
 java.lang.Object next()
           
 boolean readBox()
          Reads the box, putting appropriate information in the RepInfo object.
 
Methods inherited from class edu.harvard.hul.ois.jhove.module.jpeg2000.JP2Box
addAssociation, boxMaker, emptyBox, finalizeBytesRead, getBytesRead, getLength, getSelfPropDesc, init, initBytesRead, makeAssocProperty, selfDescProperty, setBoxHeader, setDataInputStream, setModule, setRandomAccessFile, setRepInfo, skipBox, wrongBoxContext, wrongBoxSize
 
Methods inherited from class edu.harvard.hul.ois.jhove.module.jpeg2000.BoxHolder
getFilePos, hasNext, remove, superboxOverrun, superboxUnderrun
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryFilterBox

public BinaryFilterBox(java.io.RandomAccessFile raf,
                       JP2Box parent)
Constructor with superbox.

Parameters:
parent - parent superbox of this box or TopLevelBoxHolder
Method Detail

readBox

public boolean readBox()
                throws java.io.IOException
Reads the box, putting appropriate information in the RepInfo object. setModule, setBoxHeader, setRepInfo and setDataInputStream must be called before readBox is called. readBox must completely consume the box, so that the next byte to be read by the DataInputStream is the FF byte of the next Box.

Specified by:
readBox in class JP2Box
Throws:
java.io.IOException

next

public java.lang.Object next()
Specified by:
next in interface java.util.Iterator
Overrides:
next in class BoxHolder

getBoxStream

public java.io.DataInputStream getBoxStream()
returns the InputStream which will provide the decompressed boxes subsumed in this Box.


getSelfPropName

protected java.lang.String getSelfPropName()
Returns the name of the Box.

Overrides:
getSelfPropName in class JP2Box