org.apache.manifoldcf.crawler.jobs
Class JobQueue.DuplicateFinder

java.lang.Object
  extended by org.apache.manifoldcf.crawler.jobs.JobQueue.DuplicateFinder
All Implemented Interfaces:
ILimitChecker
Enclosing class:
JobQueue

protected static class JobQueue.DuplicateFinder
extends java.lang.Object
implements ILimitChecker


Field Summary
protected  java.lang.String prevDocIDHash
           
protected  java.lang.Long prevJobID
           
 
Fields inherited from interface org.apache.manifoldcf.core.interfaces.ILimitChecker
_rcsid
 
Constructor Summary
JobQueue.DuplicateFinder()
           
 
Method Summary
 boolean checkContinue()
          See if we should examine another row.
 boolean checkInclude(IResultRow row)
          See if a result row should be included in the final result set.
 boolean doesCompareWork()
          See if this class can be legitimately compared against another of the same type.
 ILimitChecker duplicate()
          Create a duplicate of this class instance.
 boolean equals(java.lang.Object object)
          Compare two objects and see if equal.
 int hashCode()
          Find the hashcode for this class.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

prevJobID

protected java.lang.Long prevJobID

prevDocIDHash

protected java.lang.String prevDocIDHash
Constructor Detail

JobQueue.DuplicateFinder

public JobQueue.DuplicateFinder()
Method Detail

doesCompareWork

public boolean doesCompareWork()
See if this class can be legitimately compared against another of the same type.

Specified by:
doesCompareWork in interface ILimitChecker
Returns:
true if comparisons will ever return "true".

duplicate

public ILimitChecker duplicate()
Create a duplicate of this class instance. All current state should be preserved. NOTE: Since doesCompareWork() returns false, queries using this limit checker cannot be cached, and therefore duplicate() is never called from the query executor.

Specified by:
duplicate in interface ILimitChecker
Returns:
the duplicate.

hashCode

public int hashCode()
Find the hashcode for this class. This will only ever be used if doesCompareWork() returns true.

Specified by:
hashCode in interface ILimitChecker
Overrides:
hashCode in class java.lang.Object
Returns:
the hashcode.

equals

public boolean equals(java.lang.Object object)
Compare two objects and see if equal. This will only ever be used if doesCompareWork() returns true.

Specified by:
equals in interface ILimitChecker
Overrides:
equals in class java.lang.Object
Parameters:
object - is the object to compare against.
Returns:
true if equal.

checkInclude

public boolean checkInclude(IResultRow row)
                     throws ManifoldCFException
See if a result row should be included in the final result set.

Specified by:
checkInclude in interface ILimitChecker
Parameters:
row - is the result row to check.
Returns:
true if it should be included, false otherwise.
Throws:
ManifoldCFException

checkContinue

public boolean checkContinue()
                      throws ManifoldCFException
See if we should examine another row.

Specified by:
checkContinue in interface ILimitChecker
Returns:
true if we need to keep going, or false if we are done.
Throws:
ManifoldCFException