package com.limegroup.gnutella; import java.net.InetSocketAddress; import java.util.Set; import com.limegroup.gnutella.xml.LimeXMLDocument; /** * Common interface implemented by {@link FileDesc} and {@link RemoteFileDesc}. */ public interface FileDetails { /** * Returns the file name. * @return */ String getFileName(); /** * Returns the sha1 urn or <code>null</code> if there is none. * @return */ URN getSHA1Urn(); /** * Returns the size of the file. * @return */ long getFileSize(); /** * Returns the set of urns. * @return */ Set getUrns(); /** * Returns the xml document or <code>null</code> if there is none for this * file. * @return */ LimeXMLDocument getXMLDocument(); /** * Returns address of the host that holds the file. * @return */ InetSocketAddress getSocketAddress(); /** * Returns whether or not the host that holds this file is firewalled. * @return */ boolean isFirewalled(); }