Я использую гобелен 5 в качестве веб-фреймворка. Tapestry позволяет мне определять символы в классе configure и вставлять символы в другие компоненты.
например,
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.