package com.d.music.data.database.greendao.bean;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit. 

import android.text.TextUtils;

import com.d.lib.common.component.mvp.model.BaseModel;

/**
 * Entity mapped to table "MUSIC_MODEL".
 */
public class MusicModel extends BaseModel {
    public static final int TYPE_LOCAL = 10;
    public static final int TYPE_BAIDU = 11;
    public static final int TYPE_NETEASE = 12;
    // Transfer type + Type + Id
    public String id = "";
    public Integer type = TYPE_LOCAL;
    public Integer seq = 0;
    public String songId;
    public String songName;
    public String songUrl;
    public String artistId;
    public String artistName;
    public String albumId;
    public String albumName;
    public String albumUrl;
    public String lrcName;
    public String lrcUrl;
    public Long fileDuration = 0L;
    public Long fileSize = 0L;
    public String filePostfix;
    public String fileFolder;
    public Boolean isCollected = false;
    public Long timeStamp = 0L;

    /**
     * Extra: Not in the database
     */
    // Extra properties: Whether it is selected
    public boolean exIsChecked = false;
    // Extra properties: Whether it is selected when sorting
    public boolean exIsSortChecked = false;
    // Extra properties: Section initials
    public String exLetter;
    // Extra properties: Full pinyin
    public String exPinyin;
    // Extra properties: Is it the first section?
    public boolean exIsLetter;

    public MusicModel() {
    }

    public MusicModel(String id) {
        this.id = id;
    }

    public MusicModel(String id, Integer type, Integer seq, String songId, String songName, String songUrl, String artistId, String artistName, String albumId, String albumName, String albumUrl, String lrcName, String lrcUrl, Long fileDuration, Long fileSize, String filePostfix, String fileFolder, Boolean isCollected, Long timeStamp) {
        this.id = id;
        this.type = type;
        this.seq = seq;
        this.songId = songId;
        this.songName = songName;
        this.songUrl = songUrl;
        this.artistId = artistId;
        this.artistName = artistName;
        this.albumId = albumId;
        this.albumName = albumName;
        this.albumUrl = albumUrl;
        this.lrcName = lrcName;
        this.lrcUrl = lrcUrl;
        this.fileDuration = fileDuration;
        this.fileSize = fileSize;
        this.filePostfix = filePostfix;
        this.fileFolder = fileFolder;
        this.isCollected = isCollected;
        this.timeStamp = timeStamp;
    }

    public static String generateId(int type, int channel, String id) {
        return "" + type + channel + (!TextUtils.isEmpty(id) ? id : "");
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public String getSongId() {
        return songId;
    }

    public void setSongId(String songId) {
        this.songId = songId;
    }

    public String getSongName() {
        return songName;
    }

    public void setSongName(String songName) {
        this.songName = songName;
    }

    public String getSongUrl() {
        return songUrl;
    }

    public void setSongUrl(String songUrl) {
        this.songUrl = songUrl;
    }

    public String getArtistId() {
        return artistId;
    }

    public void setArtistId(String artistId) {
        this.artistId = artistId;
    }

    public String getArtistName() {
        return artistName;
    }

    public void setArtistName(String artistName) {
        this.artistName = artistName;
    }

    public String getAlbumId() {
        return albumId;
    }

    public void setAlbumId(String albumId) {
        this.albumId = albumId;
    }

    public String getAlbumName() {
        return albumName;
    }

    public void setAlbumName(String albumName) {
        this.albumName = albumName;
    }

    public String getAlbumUrl() {
        return albumUrl;
    }

    public void setAlbumUrl(String albumUrl) {
        this.albumUrl = albumUrl;
    }

    public String getLrcName() {
        return lrcName;
    }

    public void setLrcName(String lrcName) {
        this.lrcName = lrcName;
    }

    public String getLrcUrl() {
        return lrcUrl;
    }

    public void setLrcUrl(String lrcUrl) {
        this.lrcUrl = lrcUrl;
    }

    public Long getFileDuration() {
        return fileDuration;
    }

    public void setFileDuration(Long fileDuration) {
        this.fileDuration = fileDuration;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public void setFileSize(Long fileSize) {
        this.fileSize = fileSize;
    }

    public String getFilePostfix() {
        return filePostfix;
    }

    public void setFilePostfix(String filePostfix) {
        this.filePostfix = filePostfix;
    }

    public String getFileFolder() {
        return fileFolder;
    }

    public void setFileFolder(String fileFolder) {
        this.fileFolder = fileFolder;
    }

    public Boolean getIsCollected() {
        return isCollected;
    }

    public void setIsCollected(Boolean isCollected) {
        this.isCollected = isCollected;
    }

    public Long getTimeStamp() {
        return timeStamp;
    }

    public void setTimeStamp(Long timeStamp) {
        this.timeStamp = timeStamp;
    }

    public static class Channel {
        public static final int CHANNEL_TYPE_NONE = 100;
        public static final int CHANNEL_TYPE_BILL = 101;
        public static final int CHANNEL_TYPE_RADIO = 102;
        public static final int CHANNEL_TYPE_MV = 103;
    }

}
