package com.jasamedika.medifirst2000.etl.pasien.constant;

import lombok.Getter;

/**
 * @author salmanoe
 * @version 1.0.0
 * @since 19/10/2023
 */
public enum Pendidikan {
    TIDAK_SEKOLAH(0, "Tidak Sekolah"),
    SD(1, "SD"),
    SLTP_SEDERAJAT(2, "SLTP Sederajat"),
    SLTA_SEDERAJAT(3, "SLTA Sederajat"),
    D1_SAMPAI_D3_SEDERAJAT(4, "D1-D3 Sederajat"),
    D4(5, "D4"),
    S1(6, "S1"),
    S2(7, "S2"),
    S3(8, "S3");

    private final long id;

    @Getter
    private final String name;

    Pendidikan(long id, String name) {
        this.id = id;
        this.name = name;
    }

    public long id() {
        return this.id;
    }

    @Override
    public String toString() {
        return Long.toString(id);
    }

    public static Pendidikan valueOf(long id) {
        for (Pendidikan pendidikan : values()) {
            if (pendidikan.id == id) {
                return pendidikan;
            }
        }
        throw new IllegalArgumentException("No matching constant for [" + id + "]");
    }
}
