package org.limewire.core.impl.friend;
import java.net.URI;
import java.util.Collection;
import java.util.Collections;
import org.limewire.friend.api.Friend;
import org.limewire.friend.api.FriendPresence;
import org.limewire.friend.api.feature.Feature;
import org.limewire.friend.api.feature.FeatureTransport;
import com.limegroup.gnutella.Uploader;
/**
* Allows the bittorrent uploader to be converted into a FriendPresence that
* does no support any standard friend/gnutella features.
*/
public class BittorrentPresence implements FriendPresence {
private final String id;
private final Friend friend;
public BittorrentPresence(Uploader uploader) {
this.id = uploader.getUrn().toString();
this.friend = new BittorrentFriend(id, this);
}
@Override
public void addFeature(Feature feature) {
}
@Override
public <D, F extends Feature<D>> void addTransport(Class<F> clazz, FeatureTransport<D> transport) {
}
@Override
public Feature getFeature(URI id) {
return null;
}
@Override
public Collection<Feature> getFeatures() {
return Collections.emptyList();
}
@Override
public Friend getFriend() {
return friend;
}
@Override
public Mode getMode() {
return Mode.available;
}
@Override
public String getPresenceId() {
return id;
}
@Override
public int getPriority() {
return 0;
}
@Override
public String getStatus() {
return "";
}
@Override
public <F extends Feature<D>, D> FeatureTransport<D> getTransport(Class<F> feature) {
return null;
}
@Override
public Type getType() {
return Type.available;
}
@Override
public boolean hasFeatures(URI... id) {
return false;
}
@Override
public void removeFeature(URI id) {
}
}