dk.netarkivet.common.distribute
Class FileRemoteFile

java.lang.Object
  extended by dk.netarkivet.common.distribute.FileRemoteFile
All Implemented Interfaces:
RemoteFile, java.io.Serializable

public class FileRemoteFile
extends java.lang.Object
implements RemoteFile

A file represented as a RemoteFile. To avoid transferring data to and from a remote machine, when you now, that recipient is a local process. The file is deleted during cleanup.

See Also:
Serialized Form

Constructor Summary
FileRemoteFile(java.io.File dataFile)
           
 
Method Summary
 void appendTo(java.io.OutputStream out)
          Write the contents of this remote file to an output stream.
 void cleanup()
          Cleanup this remote file.
 void copyTo(java.io.File destFile)
          Copy remotefile to local disk storage.
 java.lang.String getChecksum()
          Returns a MD5 Checksum on the file.
 java.io.InputStream getInputStream()
          Get an inputstream that contains the data transferred in this RemoteFile.
 java.lang.String getName()
          Return the file name.
 long getSize()
          Returns the total size of the remote file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileRemoteFile

public FileRemoteFile(java.io.File dataFile)
Method Detail

copyTo

public void copyTo(java.io.File destFile)
Description copied from interface: RemoteFile
Copy remotefile to local disk storage. Used by the data recipient

Specified by:
copyTo in interface RemoteFile
Parameters:
destFile - local File

appendTo

public void appendTo(java.io.OutputStream out)
Description copied from interface: RemoteFile
Write the contents of this remote file to an output stream.

Specified by:
appendTo in interface RemoteFile
Parameters:
out - OutputStream that the data will be written to. This stream will not be closed by this operation.

getInputStream

public java.io.InputStream getInputStream()
Description copied from interface: RemoteFile
Get an inputstream that contains the data transferred in this RemoteFile.

Specified by:
getInputStream in interface RemoteFile
Returns:
A stream object with the data in the object. Note that the close() method of this may throw exceptions if e.g. a transmission error is detected.

getName

public java.lang.String getName()
Description copied from interface: RemoteFile
Return the file name.

Specified by:
getName in interface RemoteFile
Returns:
the file name

getChecksum

public java.lang.String getChecksum()
Description copied from interface: RemoteFile
Returns a MD5 Checksum on the file. May return null, if checksums not supported for this operation.

Specified by:
getChecksum in interface RemoteFile
Returns:
MD5 checksum

cleanup

public void cleanup()
Description copied from interface: RemoteFile
Cleanup this remote file. The file is invalid after this.

Specified by:
cleanup in interface RemoteFile

getSize

public long getSize()
Description copied from interface: RemoteFile
Returns the total size of the remote file.

Specified by:
getSize in interface RemoteFile
Returns:
Size of the remote file.