package com.limegroup.gnutella.downloader; import java.util.Set; import org.limewire.io.Address; import com.limegroup.gnutella.RemoteFileDesc; import com.limegroup.gnutella.URN; import com.limegroup.gnutella.xml.LimeXMLDocument; /** * Small factory interface that {@link RemoteFileDescFactory} delegates to * to allow different {@link RemoteFileDesc} implementations to be created * based on the type of address. */ public interface RemoteFileDescCreator { /** * Returns true if it can create a {@link RemoteFileDesc} for <code>address</code>. */ boolean canCreateFor(Address address); RemoteFileDesc create(Address address, long index, String filename, long size, byte[] clientGUID, int speed, int quality, boolean browseHost, LimeXMLDocument xmlDoc, Set<? extends URN> urns, boolean replyToMulticast, String vendor, long createTime, boolean http1); }