package org.limewire.swarm; import java.io.File; /** * Represents a file in the swarm file system. */ public interface SwarmFile { /** * Returns the local file backing this download. */ public abstract File getFile(); /** * The total file size of the complete file. */ public abstract long getFileSize(); /** * Returns the position of start byte for this file, in whatever file system it is represented * by. */ public abstract long getStartBytePosition(); /** * The position of the end byte for this file, in whatever file system it is represented by. * This is inclusive, the byte at this position belongs to this file. */ public abstract long getEndBytePosition(); /** * Returns the base path for this file. Can be used for remote and local * repositories. The path may contain subfolders to represent the full path * to the file, the path should be in unix format. path/to/file */ public abstract String getPath(); }