package com.limegroup.gnutella.uploader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import com.limegroup.gnutella.URN;
import com.limegroup.gnutella.altlocs.AltLocManager;
import com.limegroup.gnutella.altlocs.AlternateLocation;
import com.limegroup.gnutella.altlocs.DirectAltLoc;
import com.limegroup.gnutella.altlocs.PushAltLoc;
import com.limegroup.gnutella.helpers.UrnHelper;
import com.limegroup.gnutella.http.AltLocTracker;
class StubAltLocTracker extends AltLocTracker {
private List<AlternateLocation> addedLocs = new ArrayList<AlternateLocation>();
private Collection<DirectAltLoc> nextSetOfAltsToSend = null;
private Collection<PushAltLoc> nextSetOfPushAltsToSend = null;
public StubAltLocTracker() {
super(UrnHelper.SHA1);
}
public StubAltLocTracker(URN urn) {
super(urn);
}
@Override
public void addLocation(AlternateLocation al) {
addedLocs.add(al);
super.addLocation(al);
}
public List<AlternateLocation> getAddedLocs() {
return addedLocs;
}
@Override
public Collection<DirectAltLoc> getNextSetOfAltsToSend(AltLocManager altLocManager) {
if(nextSetOfAltsToSend == null)
return super.getNextSetOfAltsToSend(altLocManager);
else
return nextSetOfAltsToSend;
}
@Override
public Collection<PushAltLoc> getNextSetOfPushAltsToSend(AltLocManager altLocManager) {
if(nextSetOfPushAltsToSend == null)
return super.getNextSetOfPushAltsToSend(altLocManager);
else
return nextSetOfPushAltsToSend;
}
public void setNextSetOfAltsToSend(Collection<DirectAltLoc> nextSetOfAlts) {
this.nextSetOfAltsToSend = nextSetOfAlts;
}
public void setNextSetOfPushAltsToSend(Collection<PushAltLoc> nextSetOfPushAlts) {
this.nextSetOfPushAltsToSend = nextSetOfPushAlts;
}
}