Есть ли способ установить такие значения перечисления через Spring IoC во время сборки?
Что я хотел бы сделать, так это ввести во время загрузки класса значения, жестко запрограммированные во фрагменте кода ниже:
public enum Car
{
NANO ("Very Cheap", "India"),
MERCEDES ("Expensive", "Germany"),
FERRARI ("Very Expensive", "Italy");
public final String cost;
public final String madeIn;
Car(String cost, String madeIn)
{
this.cost= cost;
this.madeIn= madeIn;
}
}
Допустим, приложение должно быть развернуто в Германии, где Nanos "почти свободны", или в Индии, где Ferrari "недоступны". В обеих странах есть только три автомобиля (детерминированный набор), не больше, не меньше, отсюда и enum, но их «внутренние» значения могут отличаться. Итак, это случай контекстной инициализации неизменяемых.