dk.netarkivet.common.distribute
Class HTTPSRemoteFile

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

public class HTTPSRemoteFile
extends HTTPRemoteFile

A remote file implemented with point-to-point HTTPS communication. Optimised to communicate locally, if file is on the same host. Optimised to transfer 0 byte files inline. Will use one shared certificate for secure communication.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class dk.netarkivet.common.distribute.HTTPRemoteFile
checksum, hostname, url
 
Fields inherited from class dk.netarkivet.common.distribute.AbstractRemoteFile
file, fileDeletable, filesize, multipleDownloads, useChecksums
 
Constructor Summary
protected HTTPSRemoteFile(java.io.File file, boolean useChecksums, boolean fileDeletable, boolean multipleDownloads)
          Initialises a remote file implemented by point-to-point HTTPS communication.
 
Method Summary
static RemoteFile getInstance(java.io.File f, java.lang.Boolean useChecksums, java.lang.Boolean fileDeletable, java.lang.Boolean multipleDownloads)
          Initialises a remote file implemented by point-to-point HTTPS communication.
protected  HTTPRemoteFileRegistry getRegistry()
          Get the HTTPS serving registry for remote files.
 
Methods inherited from class dk.netarkivet.common.distribute.HTTPRemoteFile
cleanup, copyTo, getChecksum, getInputStream, isLocal
 
Methods inherited from class dk.netarkivet.common.distribute.AbstractRemoteFile
appendTo, getName, getSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HTTPSRemoteFile

protected HTTPSRemoteFile(java.io.File file,
                          boolean useChecksums,
                          boolean fileDeletable,
                          boolean multipleDownloads)
Initialises a remote file implemented by point-to-point HTTPS communication.

Parameters:
file - The file to make a remote file for
useChecksums - Whether communications are checksummed. If true, getChecksum will also return the checksum.
fileDeletable - if true, the file given to this method is deletable, once it is transferred.
multipleDownloads - if true, the file may be transferred more than once. Otherwise, all file handles are attempted to be made invalid after the first transfer, although no guarantees are made.
Throws:
ArgumentNotValid - if file is null, or not a readable file.
IOFailure - if checksums are requested, but i/o errors occur while checksumming.
Method Detail

getInstance

public static RemoteFile getInstance(java.io.File f,
                                     java.lang.Boolean useChecksums,
                                     java.lang.Boolean fileDeletable,
                                     java.lang.Boolean multipleDownloads)
Initialises a remote file implemented by point-to-point HTTPS communication.

Parameters:
f - The file to make a remote file for
useChecksums - Whether communications are checksummed. If true, getChecksum will also return the checksum.
fileDeletable - if true, the file given to this method is deletable, once it is transferred.
multipleDownloads - if true, the file may be transferred more than once. Otherwise, all file handles are attempted to be made invalid after the first transfer, although no guarantees are made.
Throws:
ArgumentNotValid - if file is null, or not a readable file.
IOFailure - if checksums are requested, but i/o errors occur while checksumming.

getRegistry

protected HTTPRemoteFileRegistry getRegistry()
Get the HTTPS serving registry for remote files. Overrides the HTTP registry use by HTTPRemoteFile.

Overrides:
getRegistry in class HTTPRemoteFile
Returns:
registry for remote files.