package io.delphiplatform.api.v3.model.spotify;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

public enum SpotifyChartBreakdown {
    DAILY("daily", "Daily"),
    WEEKLY("weekly", "Weekly");

    private final String value;
    private final String verbalValue;

    SpotifyChartBreakdown(String value, String verbalValue) {
        this.value = value;
        this.verbalValue = verbalValue;
    }

    @JsonCreator
    public static SpotifyChartBreakdown fromValue(String value) {
        for (SpotifyChartBreakdown b : SpotifyChartBreakdown.values()) {
            if (b.value.equals(value)) {
                return b;
            }
        }
        throw new IllegalArgumentException("Unexpected value '" + value + "'");
    }

    @JsonValue
    public String getValue() {
        return value;
    }

    public String getVerbalValue() {
        return verbalValue;
    }

    @Override
    public String toString() {
        return String.valueOf(value);
    }
}
