package org.archive.wayback.core;
import java.util.Date;
import org.archive.wayback.util.url.UrlOperations;
public class FastCaptureSearchResult extends CaptureSearchResult {
public final static String EMPTY_VALUE = "-";
protected String urlKey;
protected String captureTimestamp;
protected String originalUrl;
protected String mimeType;
protected String httpCode;
protected String digest;
protected String redirectUrl;
protected String file;
protected String robotFlags;
protected String oraclePolicy;
protected CaptureSearchResult revisitPayload = null;
private boolean duplicateDigest = false;
private boolean closest = false;
public FastCaptureSearchResult()
{
// Don't autocreate the hashmap in SearchResult here
super(false);
}
public String getUrlKey() {
return urlKey;
}
public void setUrlKey(String urlKey) {
this.urlKey = urlKey;
}
public String getCaptureTimestamp() {
return captureTimestamp;
}
public void setCaptureTimestamp(String captureTimestamp) {
this.captureTimestamp = captureTimestamp;
}
public String getOriginalUrl() {
return originalUrl;
}
public void setOriginalUrl(String originalUrl) {
this.originalUrl = originalUrl;
}
public String getMimeType() {
return mimeType;
}
public void setMimeType(String mimeType) {
this.mimeType = mimeType;
}
public String getHttpCode() {
return httpCode;
}
public void setHttpCode(String httpCode) {
this.httpCode = httpCode;
}
public String getDigest() {
return digest;
}
public void setDigest(String digest) {
this.digest = digest;
}
public String getRedirectUrl() {
return redirectUrl;
}
public void setRedirectUrl(String redirectUrl) {
this.redirectUrl = redirectUrl;
}
public String getFile() {
return file;
}
public void setFile(String file) {
this.file = file;
}
public String getRobotFlags() {
return robotFlags;
}
public void setRobotFlags(String robotFlags) {
this.robotFlags = robotFlags;
}
public long getOffset() {
return cachedOffset;
}
public void setOffset(long offset) {
cachedOffset = offset;
}
public long getCompressedLength() {
return cachedCompressedLength;
}
public void setCompressedLength(long offset) {
cachedCompressedLength = offset;
}
public String getOraclePolicy() {
return oraclePolicy;
}
public void setOraclePolicy(String policy) {
oraclePolicy = policy;
}
@Override
public void flagDuplicateDigest() {
duplicateDigest = true;
}
@Override
public boolean isRevisitDigest() {
return duplicateDigest;
}
@Override
public void flagDuplicateDigest(CaptureSearchResult payload) {
duplicateDigest = true;
revisitPayload = payload;
}
public CaptureSearchResult getDuplicatePayload()
{
return revisitPayload;
}
@Override
public String getDuplicatePayloadFile() {
return (revisitPayload != null) ? revisitPayload.getFile() : null;
}
@Override
public Long getDuplicatePayloadOffset() {
return (revisitPayload != null) ? revisitPayload.getOffset() : null;
}
@Override
public long getDuplicatePayloadCompressedLength() {
return (revisitPayload != null) ? revisitPayload.getCompressedLength() : -1;
}
@Override
public Date getDuplicateDigestStoredDate() {
return (revisitPayload != null) ? revisitPayload.getCaptureDate() : null;
}
@Override
public String getDuplicateDigestStoredTimestamp() {
return (revisitPayload != null) ? revisitPayload.getCaptureTimestamp() : null;
}
@Override
public String getOriginalHost() {
return UrlOperations.urlToHost(getOriginalUrl());
}
@Override
public void setOriginalHost(String originalHost) {
}
@Override
public Date getCaptureDate() {
// TODO Auto-generated method stub
return super.getCaptureDate();
}
@Override
public void setCaptureDate(Date date) {
// TODO Auto-generated method stub
super.setCaptureDate(date);
}
@Override
public boolean isClosest() {
return closest;
}
@Override
public void setClosest(boolean value) {
this.closest = value;
}
@SuppressWarnings("deprecation")
@Override
public void flagDuplicateDigest(Date storedDate) {
super.ensureMap();
super.flagDuplicateDigest(storedDate);
}
@SuppressWarnings("deprecation")
@Override
public void flagDuplicateDigest(String storedTS) {
super.ensureMap();
super.flagDuplicateDigest(storedTS);
}
@Override
public void flagDuplicateHTTP(Date storedDate) {
super.ensureMap();
super.flagDuplicateHTTP(storedDate);
}
@Override
public void flagDuplicateHTTP(String storedTS) {
super.ensureMap();
super.flagDuplicateHTTP(storedTS);
}
@Override
public boolean isDuplicateHTTP() {
super.ensureMap();
return super.isDuplicateHTTP();
}
}