package org.liberty.android.fantastischmemo.entity; import com.j256.ormlite.field.DataType; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; import org.liberty.android.fantastischmemo.dao.LearningDataDaoImpl; import org.liberty.android.fantastischmemo.utils.AMDateUtil; import java.util.Date; @DatabaseTable(tableName = "learning_data", daoClass = LearningDataDaoImpl.class) public class LearningData { @DatabaseField(generatedId = true) private Integer id; @DatabaseField(defaultValue = "2010-01-01 00:00:00.000000", format="yyyy-MM-dd HH:mm:ss.SSSSSS", dataType=DataType.DATE_STRING) private Date lastLearnDate = new Date(1262304000000L); @DatabaseField(defaultValue = "2010-01-01 00:00:00.000000", format="yyyy-MM-dd HH:mm:ss.SSSSSS", dataType=DataType.DATE_STRING) private Date nextLearnDate = new Date(1262304000000L); @DatabaseField private Integer grade = 3; @DatabaseField(defaultValue = "2.5") private Float easiness = 0.0f; @DatabaseField private Integer acqReps = 0; @DatabaseField private Integer retReps = 0; @DatabaseField private Integer lapses = 0; @DatabaseField private Integer acqRepsSinceLapse = 0; @DatabaseField private Integer retRepsSinceLapse = 0; @DatabaseField(format="yyyy-MM-dd HH:mm:ss.SSSSSS", dataType=DataType.DATE_STRING) private Date updateDate; @DatabaseField(defaultValue = "2010-01-01 00:00:00.000000", format="yyyy-MM-dd HH:mm:ss.SSSSSS", dataType=DataType.DATE_STRING) private Date firstLearnDate = new Date(1262304000000L); public LearningData() {} public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Date getLastLearnDate() { return lastLearnDate; } public void setLastLearnDate(Date lastLearnDate) { this.lastLearnDate = lastLearnDate; } public Date getNextLearnDate() { return nextLearnDate; } public void setNextLearnDate(Date nextLearnDate) { this.nextLearnDate = nextLearnDate; } public Integer getGrade() { return grade; } public void setGrade(Integer grade) { this.grade = grade; } public Float getEasiness() { return easiness; } public void setEasiness(Float easiness) { this.easiness = easiness; } public Integer getAcqReps() { return acqReps; } public void setAcqReps(Integer acqReps) { this.acqReps = acqReps; } public Integer getRetReps() { return retReps; } public void setRetReps(Integer retReps) { this.retReps = retReps; } public Integer getLapses() { return lapses; } public void setLapses(Integer lapses) { this.lapses = lapses; } public Integer getAcqRepsSinceLapse() { return acqRepsSinceLapse; } public void setAcqRepsSinceLapse(Integer acqRepsSinceLapse) { this.acqRepsSinceLapse = acqRepsSinceLapse; } public Integer getRetRepsSinceLapse() { return retRepsSinceLapse; } public void setRetRepsSinceLapse(Integer retRepsSinceLapse) { this.retRepsSinceLapse = retRepsSinceLapse; } public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } public Date getFirstLearnDate() { return firstLearnDate; } public void setFirstLearnDate(Date firstLearnDate) { this.firstLearnDate = firstLearnDate; } public void cloneFromLearningData(LearningData ld) { setAcqReps(ld.getAcqReps()); setAcqRepsSinceLapse(ld.getAcqRepsSinceLapse()); setEasiness(ld.getEasiness()); setGrade(ld.getGrade()); setLapses(ld.getLapses()); setLastLearnDate(ld.getLastLearnDate()); setNextLearnDate(ld.getNextLearnDate()); setRetReps(ld.getRetReps()); setRetRepsSinceLapse(ld.getRetRepsSinceLapse()); setFirstLearnDate(ld.getFirstLearnDate()); } public double getInterval() { return AMDateUtil.diffDate(getLastLearnDate(), getNextLearnDate()); } @Override public String toString() { return "LearningData [id=" + id + ", lastLearnDate=" + lastLearnDate + ", nextLearnDate=" + nextLearnDate + ", grade=" + grade + ", easiness=" + easiness + ", acqReps=" + acqReps + ", retReps=" + retReps + ", lapses=" + lapses + ", acqRepsSinceLapse=" + acqRepsSinceLapse + ", retRepsSinceLapse=" + retRepsSinceLapse + ", updateDate=" + updateDate + ", firstLearnDate=" + firstLearnDate + "]"; } }