package examples.dataloader;

public enum OfflineVlogFeatureGroup {

    machineinfo_brand,
    machineinfo_model,
    machineinfo_platform,
    machineinfo_system,
    u_1day_exp_cnt,
    u_1day_click_cnt,
    u_1day_share_cnt,
    u_1day_return_cnt,
    u_ctr_1day,
    u_str_1day,
    u_rov_1day,
    u_ros_1day,

    u_3day_exp_cnt,
    u_3day_click_cnt,
    u_3day_share_cnt,
    u_3day_return_cnt,
    u_ctr_3day,
    u_str_3day,
    u_rov_3day,
    u_ros_3day,


    total_time,

    play_count_total,
    i_1day_exp_cnt,
    i_1day_click_cnt,
    i_1day_share_cnt,
    i_1day_return_cnt,
    i_ctr_1day,
    i_str_1day,
    i_rov_1day,
    i_ros_1day,

    i_3day_exp_cnt,
    i_3day_click_cnt,
    i_3day_share_cnt,
    i_3day_return_cnt,
    i_ctr_3day,
    i_str_3day,
    i_rov_3day,
    i_ros_3day,

    ctx_week,
    ctx_hour,
    ctx_region,
    ctx_city,
    ;


    private final byte[] idBytes;
    private final byte[] nameBytes;

    OfflineVlogFeatureGroup() {
        this.idBytes = String.valueOf(ordinal()).getBytes();
        this.nameBytes = name().toLowerCase().getBytes();
    }

    public final int getId() {
        return ordinal();
    }

    public final String getGroupName() {
        return name().toLowerCase();
    }

    public final byte[] getGroupNameBytes() {
        return getGroupName().getBytes();
    }

    public final byte[] getIdBytes() {
        return idBytes;
    }

}
