edu.harvard.hul.ois.jhove.module
Class BytestreamModule

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.ModuleBase
      extended by edu.harvard.hul.ois.jhove.module.BytestreamModule
All Implemented Interfaces:
Module

public final class BytestreamModule
extends ModuleBase

Module for analysis of content as a byte stream. This is the module of last resort, accepting any content as valid and well-formed.


Field Summary
protected  ChecksumInputStream _cstream
          PRIVATE INSTANCE FIELDS.
protected  java.io.DataInputStream _dstream
           
 
Fields inherited from class edu.harvard.hul.ois.jhove.ModuleBase
_app, _bigEndian, _checksumFinished, _countStream, _coverage, _crc32, _date, _defaultParams, _features, _format, _init, _isRandomAccess, _je, _logger, _md5, _mimeType, _name, _nByte, _note, _param, _release, _repInfoNote, _rights, _sha1, _signature, _specification, _validityNote, _vendor, _verbosity, _wellFormedNote
 
Fields inherited from interface edu.harvard.hul.ois.jhove.Module
MAXIMUM_VERBOSITY, MINIMUM_VERBOSITY
 
Constructor Summary
BytestreamModule()
          Creates a BytestreamModule.
 
Method Summary
 void checkSignatures(java.io.File file, java.io.InputStream stream, RepInfo info)
          Check signature.
 int parse(java.io.InputStream stream, RepInfo info, int parseIndex)
          Parse the content of a stream digital object and store the results in RepInfo.
 
Methods inherited from class edu.harvard.hul.ois.jhove.ModuleBase
addIntegerProperty, addIntegerProperty, applyDefaultParams, calcRAChecksum, checkSignatures, getApp, getBase, getBufferedDataStream, getCoverage, getCRC32, getDate, getDefaultParams, getFeatures, getFormat, getMimeType, getName, getNByte, getNote, getRelease, getRepInfoNote, getRights, getSignature, getSpecification, getValidityNote, getVendor, getWellFormedNote, hasFeature, init, initFeatures, initParse, isBigEndian, isRandomAccess, param, parse, readByteBuf, readDouble, readDouble, readDouble, readFloat, readFloat, readSignedByte, readSignedByte, readSignedByte, readSignedInt, readSignedInt, readSignedInt, readSignedLong, readSignedRational, readSignedRational, readSignedShort, readSignedShort, readSignedShort, readUnsignedByte, readUnsignedByte, readUnsignedByte, readUnsignedInt, readUnsignedInt, readUnsignedInt, readUnsignedRational, readUnsignedRational, readUnsignedRational, readUnsignedShort, readUnsignedShort, readUnsignedShort, resetParams, setApp, setBase, setChecksums, setCRC32, setDefaultParams, setMD5, setNByte, setSHA1, setValidityNote, setVerbosity, show, skipBytes, skipBytes, vectorToPropArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_cstream

protected ChecksumInputStream _cstream
PRIVATE INSTANCE FIELDS.


_dstream

protected java.io.DataInputStream _dstream
Constructor Detail

BytestreamModule

public BytestreamModule()
Creates a BytestreamModule.

Method Detail

parse

public final int parse(java.io.InputStream stream,
                       RepInfo info,
                       int parseIndex)
                throws java.io.IOException
Parse the content of a stream digital object and store the results in RepInfo. Any arbitrary bytestream is considered well-formed.

Specified by:
parse in interface Module
Overrides:
parse in class ModuleBase
Parameters:
stream - An InputStream, positioned at its beginning, which is generated from the object to be parsed. If multiple calls to parse are made on the basis of a nonzero value being returned, a new InputStream must be provided each time.
info - A fresh (on the first call) RepInfo object which will be modified to reflect the results of the parsing If multiple calls to parse are made on the basis of a nonzero value being returned, the same RepInfo object should be passed with each call.
parseIndex - Must be 0 in first call to parse. If parse returns a nonzero value, it must be called again with parseIndex equal to that return value.
Throws:
java.io.IOException

checkSignatures

public void checkSignatures(java.io.File file,
                            java.io.InputStream stream,
                            RepInfo info)
                     throws java.io.IOException
Check signature. Bytestreams have no signatures, but since any byte stream is considered a valid Bytestream, return immediately doing nothing. The RepInfo._consistent flag will remain true.

Specified by:
checkSignatures in interface Module
Overrides:
checkSignatures in class ModuleBase
Parameters:
file - A File object for the object being parsed
stream - An InputStream, positioned at its beginning, which is generated from the object to be parsed
info - A fresh RepInfo object which will be modified to reflect the results of the test
Throws:
java.io.IOException