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

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

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


Field Summary
protected  java.lang.String prevChildIDHash
           
protected  java.lang.String prevDataName
           
protected  java.lang.String prevDataValue
           
protected  java.lang.Long prevJobID
           
protected  java.lang.String prevParentIDHash
           
 
Fields inherited from interface org.apache.manifoldcf.core.interfaces.ILimitChecker
_rcsid
 
Constructor Summary
Carrydown.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

prevParentIDHash

protected java.lang.String prevParentIDHash

prevChildIDHash

protected java.lang.String prevChildIDHash

prevDataName

protected java.lang.String prevDataName

prevDataValue

protected java.lang.String prevDataValue
Constructor Detail

Carrydown.DuplicateFinder

public Carrydown.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