package org.archive.cdxserver.processor;
import org.archive.format.cdx.CDXLine;
public class ForwardRevisitResolver extends RevisitResolver {
public ForwardRevisitResolver(BaseProcessor output, boolean showDupeCount) {
super(output, showDupeCount);
}
class OrigLineDupeTrack extends DupeTrack
{
CDXLine line;
}
protected DupeTrack createDupeTrack()
{
return new OrigLineDupeTrack();
}
protected void handleLine(DupeTrack counter, CDXLine line, boolean isDupe) {
OrigLineDupeTrack origLineDupeTrack = (OrigLineDupeTrack)counter;
CDXLine origLine = null;
boolean currIsRevisit = isRevisit(line);
if ((origLineDupeTrack.line == null) && !currIsRevisit) {
origLineDupeTrack.line = line;
} else {
origLine = origLineDupeTrack.line;
}
if ((origLine != null) && currIsRevisit) {
this.fillRevisit(line, origLine);
} else {
this.fillBlankOrig(line);
}
}
}