<commit_before>package org.literacyapp.model;

import org.greenrobot.greendao.DaoException;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.JoinEntity;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.ToMany;
import org.greenrobot.greendao.annotation.ToOne;
import org.greenrobot.greendao.annotation.Unique;
import org.literacyapp.dao.DaoSession;
import org.literacyapp.dao.DeviceDao;
import org.literacyapp.dao.StudentDao;
import org.literacyapp.dao.StudentImageDao;

import java.util.List;

/**
 * Based on {@link org.literacyapp.model.gson.StudentGson}
 */
@Entity
public class Student {

    @Id(autoincrement = true)
    private Long id;

    @NotNull
    @Unique
    private String uniqueId; // "<deviceId>_<Long>"

    @ToMany
    @JoinEntity(entity = JoinStudentsWithDevices.class, sourceProperty = "studentId", targetProperty = "deviceId")
    private List<Device> devices;

    private long studentImageId;

    @ToOne(joinProperty = "studentImageId")
    private StudentImage avatar;
<commit_msg>#250 Make StudentImage a required Student property<commit_after>package org.literacyapp.model;

import org.greenrobot.greendao.DaoException;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.JoinEntity;
import org.greenrobot.greendao.annotation.NotNull;
import org.greenrobot.greendao.annotation.ToMany;
import org.greenrobot.greendao.annotation.ToOne;
import org.greenrobot.greendao.annotation.Unique;
import org.literacyapp.dao.DaoSession;
import org.literacyapp.dao.DeviceDao;
import org.literacyapp.dao.StudentDao;
import org.literacyapp.dao.StudentImageDao;

import java.util.List;

/**
 * Based on {@link org.literacyapp.model.gson.StudentGson}
 */
@Entity
public class Student {

    @Id(autoincrement = true)
    private Long id;

    @NotNull
    @Unique
    private String uniqueId; // "<deviceId>_<Long>"

    @ToMany
    @JoinEntity(entity = JoinStudentsWithDevices.class, sourceProperty = "studentId", targetProperty = "deviceId")
    private List<Device> devices;

    private long studentImageId;

    @NotNull
    @ToOne(joinProperty = "studentImageId")
    private StudentImage avatar;

{'fraction_non_alphanumeric': 0.10336341263330599, 'fraction_numerical': 0.0012305168170631665, 'mean_word_length': 5.190355329949239, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2008262', 'n_tokens_mistral': 779, 'n_tokens_neox': 780, 'n_words': 141}