package lc.mecha.file;

import java.io.InputStream;

/**
 * Classes implementing this interface provide a reference to file data, and its typical associated metadata.
 *
 * @author Alex Leigh
 */
public interface FilePointer {
    /**
     * Return the natural filename for the file. The filename will not contain the file or path seperator
     * characters.
     */
    String getFilename();

    /**
     * Return the mime/type for the file.
     */
    String getFileType();

    /**
     * Return an input stream to the data stored within the file.
     */
    InputStream getData();
}
