package com.ym.mec.biz.dal.entity;

import com.ym.mec.biz.dal.enums.ClientTypeEnum;
import com.ym.mec.biz.dal.enums.ExamSongTypeEnum;
import com.ym.mec.common.enums.BaseEnum;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(sys_music_score):
 */
public class SysMusicScore {
	
	public enum PlayMode  implements BaseEnum<String, PlayMode> {
		
		MP3("MP3播放"),XML("XML播放");
		
		private String desc;
		
		private PlayMode(String desc) {
			this.desc = desc;
		}

		@Override
		public String getCode() {
			return this.name();
		}

		public String getDesc() {
			return desc;
		}
		
	}

	private String extConfigJson;

	/**  */
	private Integer id;
	
	/**  */
	private Integer musicScoreCategoriesId;
	
	/** 名称 */
	private String name;

	/** 名称 */
	private String categoriesName;

	/** 名称 */
	private Integer categoriesId;
	
	/** 类型PERSON 个人,COMMON公用 */
	private ExamSongTypeEnum type;

	private String typeName;
	
	/** 声部列表 */
	private String subjectIds;

	private Integer subjectId;

	private String subjectName;
	
	/** 速度 */
	private Integer speed;
	
	/** 原音MP3 */
	private String url;

	/** 带节拍器原音MP3 */
	private String metronomeUrl;
	
	private String midiUrl;

	private String accompanimentUrl;

	private String accompanimentMetronomeUrl;
	
	private String xmlUrl;

	/** 原音MP3 */
	private String createUserName;
	
	/** 上传人 */
	private Integer createUserId;
	
	/** 是否删除1是0否 */
	private Integer delFlag;

	private Integer order;

	/**
	 * 客户端类型
	 */
	private ClientTypeEnum clientType;

	private String rankIds;
	
	private String renderFrom;
	
	private boolean enableEvaluation;
	
	/**  */
	private java.util.Date updateTime;
	
	/**  */
	private java.util.Date createTime;

	//是否显示
	private Integer showFlag = 0;
	private String showName;

	private Boolean isOpenMetronome;

	private String openMetronomeName;

	private String museScoreUrl;
	
	private String museScoreMemo;
	
	private PlayMode playMode;

	private String organName;

	public String getExtConfigJson() {
		return extConfigJson;
	}

	public void setExtConfigJson(String extConfigJson) {
		this.extConfigJson = extConfigJson;
	}

	public String getTypeName() {
		return typeName;
	}

	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}

	public String getOpenMetronomeName() {
		return openMetronomeName;
	}

	public String getShowName() {
		return showName;
	}

	public void setShowName(String showName) {
		this.showName = showName;
	}

	public void setOpenMetronomeName(String openMetronomeName) {
		this.openMetronomeName = openMetronomeName;
	}

	public Integer getSubjectId() {
		return subjectId;
	}

	public void setSubjectId(Integer subjectId) {
		this.subjectId = subjectId;
	}

	public String getSubjectName() {
		return subjectName;
	}

	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	}

	public String getOrganName() {
		return organName;
	}

	public void setOrganName(String organName) {
		this.organName = organName;
	}

	public Boolean getIsOpenMetronome() {
		return isOpenMetronome;
	}

	public void setIsOpenMetronome(Boolean isOpenMetronome) {
		this.isOpenMetronome = isOpenMetronome;
	}

	public PlayMode getPlayMode() {
		return playMode;
	}

	public void setPlayMode(PlayMode playMode) {
		this.playMode = playMode;
	}

	public String getAccompanimentUrl() {
		return accompanimentUrl;
	}

	public void setAccompanimentUrl(String accompanimentUrl) {
		this.accompanimentUrl = accompanimentUrl;
	}

	public String getAccompanimentMetronomeUrl() {
		return accompanimentMetronomeUrl;
	}

	public void setAccompanimentMetronomeUrl(String accompanimentMetronomeUrl) {
		this.accompanimentMetronomeUrl = accompanimentMetronomeUrl;
	}

	public String getXmlUrl() {
		return xmlUrl;
	}

	public void setXmlUrl(String xmlUrl) {
		this.xmlUrl = xmlUrl;
	}

	public String getMetronomeUrl() {
		return metronomeUrl;
	}

	public void setMetronomeUrl(String metronomeUrl) {
		this.metronomeUrl = metronomeUrl;
	}

	public String getMidiUrl() {
		return midiUrl;
	}

	public void setMidiUrl(String midiUrl) {
		this.midiUrl = midiUrl;
	}

	public Integer getShowFlag() {
		return showFlag;
	}

	public void setShowFlag(Integer showFlag) {
		this.showFlag = showFlag;
	}

	public String getRankIds() {
		return rankIds;
	}

	public void setRankIds(String rankIds) {
		this.rankIds = rankIds;
	}

	public String getRenderFrom() {
		return renderFrom;
	}

	public void setRenderFrom(String renderFrom) {
		this.renderFrom = renderFrom;
	}

	public boolean isEnableEvaluation() {
		return enableEvaluation;
	}

	public void setEnableEvaluation(boolean enableEvaluation) {
		this.enableEvaluation = enableEvaluation;
	}

	public ClientTypeEnum getClientType() {
		return clientType;
	}

	public void setClientType(ClientTypeEnum clientType) {
		this.clientType = clientType;
	}

	public Integer getOrder() {
		return order;
	}

	public void setOrder(Integer order) {
		this.order = order;
	}

	public Integer getCategoriesId() {
		return categoriesId;
	}

	public void setCategoriesId(Integer categoriesId) {
		this.categoriesId = categoriesId;
	}

	public String getCategoriesName() {
		return categoriesName;
	}

	public void setCategoriesName(String categoriesName) {
		this.categoriesName = categoriesName;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setMusicScoreCategoriesId(Integer musicScoreCategoriesId){
		this.musicScoreCategoriesId = musicScoreCategoriesId;
	}
	
	public Integer getMusicScoreCategoriesId(){
		return this.musicScoreCategoriesId;
	}
			
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return this.name;
	}

	public ExamSongTypeEnum getType() {
		return type;
	}

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

	public void setSubjectIds(String subjectIds){
		this.subjectIds = subjectIds;
	}
	
	public String getSubjectIds(){
		return this.subjectIds;
	}
			
	public void setSpeed(Integer speed){
		this.speed = speed;
	}
	
	public Integer getSpeed(){
		return this.speed;
	}
			
	public void setUrl(String url){
		this.url = url;
	}
	
	public String getUrl(){
		return this.url;
	}
			
	public void setCreateUserId(Integer createUserId){
		this.createUserId = createUserId;
	}
	
	public Integer getCreateUserId(){
		return this.createUserId;
	}
			
	public void setDelFlag(Integer delFlag){
		this.delFlag = delFlag;
	}
	
	public Integer getDelFlag(){
		return this.delFlag;
	}
			
	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}

	public String getMuseScoreUrl() {
		return museScoreUrl;
	}

	public void setMuseScoreUrl(String museScoreUrl) {
		this.museScoreUrl = museScoreUrl;
	}

	public String getMuseScoreMemo() {
		return museScoreMemo;
	}

	public void setMuseScoreMemo(String museScoreMemo) {
		this.museScoreMemo = museScoreMemo;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
