dk.netarkivet.common.utils.arc
Class LoadableJarBatchJob

java.lang.Object
  extended by dk.netarkivet.common.utils.arc.FileBatchJob
      extended by dk.netarkivet.common.utils.arc.LoadableJarBatchJob
All Implemented Interfaces:
java.io.Serializable

public class LoadableJarBatchJob
extends FileBatchJob

This implementation of FileBatchJob is a bridge to a jar file given as a File object. The given class will be loaded and used to perform the actions of the FileBatchJob class.

See Also:
Serialized Form

Nested Class Summary
(package private) static class LoadableJarBatchJob.ByteJarLoader
           
 
Field Summary
(package private)  FileBatchJob loadedJob
           
(package private)  org.apache.commons.logging.Log log
           
 
Fields inherited from class dk.netarkivet.common.utils.arc.FileBatchJob
filesFailed, noOfFilesProcessed
 
Constructor Summary
LoadableJarBatchJob(java.io.File jarFile, java.lang.String jobClass)
          Load a given class from a jar file.
 
Method Summary
 void finish(java.io.OutputStream os)
          Finish up the job.
 void initialize(java.io.OutputStream os)
          Initialize the job before runnning.
 boolean processFile(java.io.File file, java.io.OutputStream os)
          Process one file stored in the bit archive.
 
Methods inherited from class dk.netarkivet.common.utils.arc.FileBatchJob
getFilenamePattern, getFilesFailed, getNoOfFilesProcessed, processOnlyFileNamed, processOnlyFilesMatching, processOnlyFilesMatching, processOnlyFilesNamed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

loadedJob

transient FileBatchJob loadedJob

log

transient org.apache.commons.logging.Log log
Constructor Detail

LoadableJarBatchJob

public LoadableJarBatchJob(java.io.File jarFile,
                           java.lang.String jobClass)
Load a given class from a jar file.

Parameters:
jarFile - The jar file to load from. This file may also contain other classes required by the FileBatchJob class.
jobClass - The class to load initially. This must be a subclass of FileBatchJob
Method Detail

initialize

public void initialize(java.io.OutputStream os)
Initialize the job before runnning. This is called before the processFile() calls.

Specified by:
initialize in class FileBatchJob
Parameters:
os - the OutputStream to which output should be written

processFile

public boolean processFile(java.io.File file,
                           java.io.OutputStream os)
Process one file stored in the bit archive.

Specified by:
processFile in class FileBatchJob
Parameters:
file - the file to be processed.
os - the OutputStream to which output should be written
Returns:
true if the file was successfully processed, false otherwise

finish

public void finish(java.io.OutputStream os)
Finish up the job. This is called after the last process() call.

Specified by:
finish in class FileBatchJob
Parameters:
os - the OutputStream to which output should be written