Package dk.netarkivet.archive.checksum
Interface ChecksumArchive
-
- All Known Implementing Classes:
DatabaseChecksumArchive
,FileChecksumArchive
public interface ChecksumArchive
This abstract class is the interface for the checksum archives, which can be one of the following:
- FileChecksumArchive where the archive is placed in a single file.
- DatabaseChecksumArchive where the archive is placed in a database.- See Also:
FileChecksumArchive
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
calculateChecksum(File f)
Method for calculating the checksum of a specific file.String
calculateChecksum(InputStream is)
Method for calculating the checksum when the file is received in the form of an inputstream.void
cleanup()
Method for cleaning up when closing down.File
correct(String filename, File correctFile)
Method for removing a bad entry from the archive.File
getAllFilenames()
Method for retrieving the names of all the files within the archive as a temporary file.File
getArchiveAsFile()
Method for retrieving the archive as a temporary file containing the checksum entries.String
getChecksum(String filename)
Method for retrieving the checksum of a specific entry in the archive.boolean
hasEnoughSpace()
Method for checking whether there is enough space left on the hard drive.boolean
hasEntry(String filename)
Method for checking whether an entry exists within the archive.void
upload(RemoteFile arcfile, String filename)
Method for uploading a new file to the archive.void
upload(String checksum, String filename)
Upload a filename with a pre-computed checksum.
-
-
-
Method Detail
-
hasEnoughSpace
boolean hasEnoughSpace()
Method for checking whether there is enough space left on the hard drive.- Returns:
- Whether there is enough space left on the hard drive.
-
correct
File correct(String filename, File correctFile) throws IOFailure, ArgumentNotValid, IllegalState
Method for removing a bad entry from the archive. This finds the record and removes it if it has the incorrect checksum. The incorrect record is not deleted, but instead put into a backup file for all the incorrect records.- Parameters:
filename
- The name of the file whose record should be removed.correctFile
- The correct remote file to replace the bad one in the archive.- Returns:
- A file containing the removed data.
- Throws:
ArgumentNotValid
- If one of the arguments are not valid.IOFailure
- If the entry cannot be corrected.IllegalState
- If no such entry exists to be corrected, or if the entry has a different checksum than expected.
-
getChecksum
String getChecksum(String filename)
Method for retrieving the checksum of a specific entry in the archive.- Parameters:
filename
- The name of the file entry in the archive for whom the checksum should be retrieved.- Returns:
- The checksum of a record, or null if it was not found.
-
hasEntry
boolean hasEntry(String filename)
Method for checking whether an entry exists within the archive.- Parameters:
filename
- The name of the file whose entry in the archive should be determined.- Returns:
- Whether an entry with the filename was found.
-
upload
void upload(RemoteFile arcfile, String filename)
Method for uploading a new file to the archive. The checksum of the file needs to be calculated before it is placed in the archive with the given filename.- Parameters:
arcfile
- The remote file to be uploaded.filename
- The name of the file.
-
upload
void upload(String checksum, String filename)
Upload a filename with a pre-computed checksum.- Parameters:
checksum
-filename
-
-
calculateChecksum
String calculateChecksum(File f)
Method for calculating the checksum of a specific file.- Parameters:
f
- The file to calculate the checksum from.- Returns:
- The checksum of the file.
-
calculateChecksum
String calculateChecksum(InputStream is)
Method for calculating the checksum when the file is received in the form of an inputstream.- Parameters:
is
- The input stream to calculate the checksum from.- Returns:
- The checksum of the inputstream.
-
getArchiveAsFile
File getArchiveAsFile()
Method for retrieving the archive as a temporary file containing the checksum entries.- Returns:
- A temporary checksum file.
-
getAllFilenames
File getAllFilenames()
Method for retrieving the names of all the files within the archive as a temporary file.- Returns:
- A temporary file containing the list of all the filenames. This file has one filename per line.
-
cleanup
void cleanup()
Method for cleaning up when closing down.
-
-