
uk.gov.nationalarchives.droid.binFileReader.ByteReader Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wazformat Show documentation
Show all versions of wazformat Show documentation
Format identification utilities
The newest version!
/*
* The National Archives 2005-2006. All rights reserved. See Licence.txt for
* full licence details. Developed by: Tessella Support Services plc 3
* Vineyard Chambers Abingdon, OX14 3PX United Kingdom http://www.tessella.com
* Tessella/NPD/4826 PRONOM 5a $Id: ByteReader.java,v 1.6 2006/03/13 15:15:28
* linb Exp $ $Log: ByteReader.java,v $ Revision 1.6 2006/03/13 15:15:28 linb
* Changed copyright holder from Crown Copyright to The National Archives.
* Added reference to licence.txt Changed dates to 2005-2006 Revision 1.5
* 2006/02/09 13:17:41 linb Changed StreamByteReader to InputStreamByteReader
* Refactored common code from UrlByteReader and InputStreamByteReader into
* new class StreamByteReader, from which they both inherit Updated javadoc
* Revision 1.4 2006/02/09 12:14:16 linb Changed some javadoc to allow it to
* be created cleanly Revision 1.3 2006/02/08 12:51:53 linb Added javadoc
* comments for file. Revision 1.2 2006/02/08 08:56:35 linb - Added header
* comments
*/
package uk.gov.nationalarchives.droid.binFileReader;
import uk.gov.nationalarchives.droid.base.FileFormatHit;
/**
* Interface for accessing the bytes from a file, URL or stream.
*
* Create an instance with AbstractByteReader.newByteReader()
.
*
* @author linb
*/
public interface ByteReader {
/**
* Add another hit to the list of hits for this file.
*
* @param theHit
* The FileFormatHit
to be added
*/
public void addHit(FileFormatHit theHit);
/**
* Get a byte from file
*
* @param fileIndex
* position of required byte in the file
* @return the byte at position fileIndex
in the file
*/
public byte getByte(long fileIndex);
/**
* Get classification of the file
*/
public int getClassification();
/**
* Gets the current position of the file marker.
*
* @return the current position of the file marker
*/
public long getFileMarker();
/**
* Get file name of the associated file
*/
public String getFileName();
/**
* Get file path of the associated file
*/
public String getFilePath();
/**
* Get a file format hit
*
* @param theIndex
* index of the FileFormatHit
to get
* @return the hit associated with theIndex
*/
public FileFormatHit getHit(int theIndex);
/**
* Get any warning message created when identifying this file
*/
public String getIdentificationWarning();
/**
* Returns the number of bytes in the file
*/
public long getNumBytes();
/**
* Get number of file format hits
*/
public int getNumHits();
/**
* Checks whether the file has yet been classified
*/
public boolean isClassified();
/**
* Remove a hit from the list of hits for this file.
*
* @param theIndex
* Index of the hit to be removed
*/
public void removeHit(int theIndex);
/**
* Set identification status to Error
*/
public void setErrorIdent();
/**
* Position the file marker at a given byte position.
*
* The file marker is used to record how far through the file the byte
* sequence matching algorithm has got.
*
* @param markerPosition
* The byte number in the file at which to position the marker
*/
public void setFileMarker(long markerPosition);
/**
* Set identification warning
*
* @param theWarning
* the warning message to use
*/
public void setIdentificationWarning(String theWarning);
/**
* Set identification status to No identification
*/
public void setNoIdent();
/* Setters for identification status */
/**
* Set identification status to Positive
*/
public void setPositiveIdent();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy