Есть ли способ настроить такие значения перечисления через 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;
}
}
Скажем, что приложение должно быть развернуто в Германии, где Нанос "почти свободен" или в Индии, где Феррари "недоступны". В обеих странах есть только три автомобиля (детерминированный набор), не более, не менее, следовательно, перечисление, но их "внутренние" значения могут отличаться. Итак, это случай контекстной инициализации неизменяемых.