package com.csc.library.process;


import com.csc.library.utilities.CheckNull;
import com.csc.library.utilities.MyLog;

public class CourseImpProp implements CourseImportField {
	private String companyid ;
	private String trainingid ;
	private String courseid ;
	private String sessionid ;
	private String title ;
	private String location ;
	private String startdate ;
	private String starttime ;
	private String enddate ;
	private String endtime ;
	private String trainer ;
	private String desc ;
	private String status ;
	private String objective ;
	private String rstartdate ;
	private String rstarttime ;
	private String renddate ;
	private String rendtime ;
	private String punchbefore ;
	private String punchafter ;
	private String picture ;
	private String sourcelink ;
	private String downloadlink ;
	
	static CourseImpProp cip ;
	
	public static CourseImpProp newInstance(String raw){
		cip = new CourseImpProp(raw);
		
		return cip ;
	}
	
	public CourseImpProp(String raw){
		try {
			String ls[] = raw.split("\\|");
			
			if(ls.length >= OBJECTIVE){
				setCompanyid(getStringData(ls,COMPANYID));
				setTrainingid(getStringData(ls,TRAININGID));
				setCourseid(getStringData(ls,COURSEID));
				setSessionid(getStringData(ls,SESSIONID));
				setTitle(getStringData(ls,TITLE));
				setLocation(getStringData(ls,LOCATION));
				setStartdate(getStringData(ls,STARTDATE));
				setStarttime(getStringData(ls,STARTTIME));
				setEnddate(getStringData(ls,ENDDATE));
				setEndtime(getStringData(ls,ENDTIME));
				setTrainer(getStringData(ls,TRAINER));
				setDesc(getStringData(ls,DESC));
				setObjective(getStringData(ls,OBJECTIVE));
				setStatus(getStringData(ls,STATUS));
				setRstartdate(getStringData(ls,RSTARTDATE));
				setRstarttime(getStringData(ls,RSTARTTIME));
				setRenddate(getStringData(ls,RENDDATE));
				setRendtime(getStringData(ls,RENDTIME));
				setPunchbefore(getStringData(ls,PUNCHBEFORE));
				setPunchafter(getStringData(ls,PUNCHAFTER));
				setPicture(getStringData(ls,PICTURE));
				setSourcelink(getStringData(ls,SOUCELINK));
				setDownloadlink(getStringData(ls,DOWNLOADLINK));
			}
		}catch(Exception e){
			MyLog.error(this, e);
		}
	}
	
	private String getStringData(String arr[], int index){
		try {
			return CheckNull.getInstance().chkNullString(arr[index]);
		}catch(Exception e){
			MyLog.error(this, "!! index out of bound : " + index + " >> " + arr);
		}
		return "";
	}
	
	public String getCompanyid() {
		return companyid;
	}
	public void setCompanyid(String companyid) {
		this.companyid = companyid;
	}
	public String getTrainingid() {
		return trainingid;
	}
	public void setTrainingid(String trainingid) {
		this.trainingid = trainingid;
	}
	public String getCourseid() {
		return courseid;
	}
	public void setCourseid(String courseid) {
		this.courseid = courseid;
	}
	public String getSessionid() {
		return sessionid;
	}
	public void setSessionid(String sessionid) {
		this.sessionid = sessionid;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getLocation() {
		return location;
	}
	public void setLocation(String location) {
		this.location = location;
	}
	public String getStartdate() {
		return startdate;
	}
	public void setStartdate(String startdate) {
		this.startdate = startdate;
	}
	public String getStarttime() {
		return starttime;
	}
	public void setStarttime(String starttime) {
		this.starttime = starttime;
	}
	public String getEnddate() {
		return enddate;
	}
	public void setEnddate(String enddate) {
		this.enddate = enddate;
	}
	public String getEndtime() {
		return endtime;
	}
	public void setEndtime(String endtime) {
		this.endtime = endtime;
	}
	public String getTrainer() {
		return trainer;
	}
	public void setTrainer(String trainer) {
		this.trainer = trainer;
	}
	public String getDesc() {
		return desc;
	}
	public void setDesc(String desc) {
		this.desc = desc;
	}
	public String getStatus() {
		return status;
	}
	public void setStatus(String status) {
		this.status = status;
	}
	public String getObjective() {
		return objective;
	}
	public void setObjective(String objective) {
		this.objective = objective;
	}
	public String getRstartdate() {
		return rstartdate;
	}
	public void setRstartdate(String rstartdate) {
		this.rstartdate = rstartdate;
	}
	public String getRstarttime() {
		return rstarttime;
	}
	public void setRstarttime(String rstarttime) {
		this.rstarttime = rstarttime;
	}
	public String getRenddate() {
		return renddate;
	}
	public void setRenddate(String renddate) {
		this.renddate = renddate;
	}
	public String getRendtime() {
		return rendtime;
	}
	public void setRendtime(String rendtime) {
		this.rendtime = rendtime;
	}
	public String getPunchbefore() {
		return punchbefore;
	}
	public void setPunchbefore(String punchbefore) {
		this.punchbefore = punchbefore;
	}
	public String getPunchafter() {
		return punchafter;
	}
	public void setPunchafter(String punchafter) {
		this.punchafter = punchafter;
	}
	public String getPicture() {
		return picture;
	}
	public void setPicture(String picture) {
		this.picture = picture;
	}
	public String getSourcelink() {
		return sourcelink;
	}
	public void setSourcelink(String sourcelink) {
		this.sourcelink = sourcelink;
	}
	public String getDownloadlink() {
		return downloadlink;
	}
	public void setDownloadlink(String downloadlink) {
		this.downloadlink = downloadlink;
	}
	
}