package cz.moneta.test.dsl.util.data.client;

import java.util.EnumSet;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public enum IncomeType {
    EMPLOYMENT_INCOME("Příjem ze závislé činnosti"),
    BUSINESS_INCOME("Příjem z podnikání"),
    OTHER_INCOME("Ostatní příjmy"),
    BENEFITS("Dávky a sociální podpory");

    private final String ufoValue;

    private static final Map<String, IncomeType> UFO_VALUES_LOOKUP = EnumSet.allOf(IncomeType.class).stream()
            .collect(Collectors.toMap(it -> it.ufoValue, Function.identity()));

    IncomeType(String ufoValue) {
        this.ufoValue = ufoValue;
    }

    public String getUfoValue() {
        return this.ufoValue;
    }

    public static IncomeType getByUfoValue(String ufoValue) {
        return UFO_VALUES_LOOKUP.get(ufoValue);
    }

}