Я использую гобелен 5 как свой выбор веб-фреймворка. Гобелен позволяет мне определять символы в классе конфигурации и вставлять символы в другие компоненты.
например,
public interface SymbolConstants {
static String DEFAULT_TIMEOUT_KEY = "default.timeout";
}
public class AppModule {
void contributeApplicationDefault(Configuration conf) {
conf.add(SymbolConstants.DEFAULT_TIMEOUT_KEY, "10");
}
}
public class MyComponent {
@Symbol(SymbolConstants.DEFAULT_VALUE_KEY)
private long timeout;
}
Возможность определять статические константы и использовать их в качестве значений аннотаций дает мне проверку времени компиляции.
Мне интересно, как определить константы и использовать их в качестве значений аннотаций scala. Если нет, то как лучше определить / ограничить значение, которое мы можем назначить аннотациям в Scala.