package honk.tools.anidb;

/**
 * Information about a file.
 * @author honk
 */
public class FileInfo {
    private int size;
    private String hash;
    private int animeID;
    private int fileID;
    private String episodeNumber;
    private String episodeName;
    private String description; //?
    private String quality;
    private String subLang; //?
    private String dubLang; //?
    private String fileType;
    private int length;
    private String source; //?

    /**
     * @param size
     * @param hash
     * @param animeID
     * @param fileID
     * @param episodeNumber
     * @param episodeName
     * @param description
     * @param quality
     * @param subLang
     * @param dubLang
     * @param length
     * @param source
     */
    public FileInfo(int size, String hash, int animeID, int fileID, String episodeNumber, String episodeName,
            String description, String quality, String subLang, String dubLang, int length, String fileType,
            String source) {
        this.size = size;
        this.hash = hash;
        this.animeID = animeID;
        this.fileID = fileID;
        this.episodeNumber = episodeNumber;
        this.episodeName = episodeName;
        this.description = description;
        this.quality = quality;
        this.subLang = subLang;
        this.dubLang = dubLang;
        this.length = length;
        this.fileType = fileType;
        this.source = source;
    }

    /**
     * @return the animeID
     */
    public int getAnimeID() {
        return animeID;
    }

    /**
     * @return the description
     */
    public String getDescription() {
        return description;
    }

    /**
     * @return the dubLang
     */
    public String getDubLang() {
        return dubLang;
    }

    /**
     * @return the episodeName
     */
    public String getEpisodeName() {
        return episodeName;
    }

    /**
     * @return the episodeNumber
     */
    public String getEpisodeNumber() {
        return episodeNumber;
    }

    /**
     * @return the fileID
     */
    public int getFileID() {
        return fileID;
    }

    /**
     * @return the hash
     */
    public String getHash() {
        return hash;
    }

    /**
     * @return the length
     */
    public int getLength() {
        return length;
    }

    /**
     * @return the quality
     */
    public String getQuality() {
        return quality;
    }

    /**
     * @return the size
     */
    public int getSize() {
        return size;
    }

    /**
     * @return the source
     */
    public String getSource() {
        return source;
    }

    /**
     * @return the subLang
     */
    public String getSubLang() {
        return subLang;
    }

    /**
     * @return the fileType
     */
    public String getFileType() {
        return fileType;
    }

    @Override
    public String toString() {
        return "File: " + fileID + "\n" + "Anime: " + animeID + "\n" + "size: " + size + "\n" + "hash: " + hash + "\n"
                + "episode: " + episodeNumber + "\n" + "episode name: " + episodeName + "\n" + "quality: " + quality
                + "\n" + "sub: " + subLang + "\n" + "dub: " + dubLang + "\n" + "type: " + fileType + "\n" + "length: "
                + length + "\n" + "source: " + source + "\n" + "description: " + description;
    }
}
