dk.netarkivet.common.utils.arc
Class BatchFilter

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

public abstract class BatchFilter
extends java.lang.Object
implements java.io.Serializable

A filter class for batch entries. Allows testing whether or not to process an entry without loading the entry data first. accept() is given an ARCRecord rather than a ShareableARCRecord to avoid unnecessary reading and copying of data of records not accepted by filter.

See Also:
Serialized Form

Field Summary
static BatchFilter EXCLUDE_FILE_HEADERS
          A default filter: Accepts all but the first file
static BatchFilter NO_FILTER
          A default filter: Accepts everything
static BatchFilter ONLY_HTTP_ENTRIES
           
 
Constructor Summary
protected BatchFilter(java.lang.String name)
          Create a new filter with the given name
 
Method Summary
abstract  boolean accept(org.archive.io.arc.ARCRecord record)
           
static BatchFilter getMimetypeBatchFilter(java.lang.String mimetype)
           
static boolean mimetypeIsOk(java.lang.String mimetype)
          Check, if a certain mimetype is valid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_FILTER

public static final BatchFilter NO_FILTER
A default filter: Accepts everything


EXCLUDE_FILE_HEADERS

public static final BatchFilter EXCLUDE_FILE_HEADERS
A default filter: Accepts all but the first file


ONLY_HTTP_ENTRIES

public static final BatchFilter ONLY_HTTP_ENTRIES
Constructor Detail

BatchFilter

protected BatchFilter(java.lang.String name)
Create a new filter with the given name

Parameters:
name - The name of this filter, for debugging mostly.
Method Detail

getMimetypeBatchFilter

public static BatchFilter getMimetypeBatchFilter(java.lang.String mimetype)
                                          throws java.awt.datatransfer.MimeTypeParseException
Parameters:
mimetype - String denoting the mimetype this filter represents
Returns:
a BatchFilter that filters out all ARCRecords, that does not have this mimetype
Throws:
java.awt.datatransfer.MimeTypeParseException - (if mimetype is invalid)

mimetypeIsOk

public static boolean mimetypeIsOk(java.lang.String mimetype)
Check, if a certain mimetype is valid

Parameters:
mimetype -
Returns:
boolean true, if mimetype matches word/word, otherwise false

accept

public abstract boolean accept(org.archive.io.arc.ARCRecord record)