Просто интересно, какие аннотации можно использовать с переменными, объявленными в операторах try-with-resources, что разрешено в соответствии с его грамматикой. В разделе 14.20.3 из спецификации языка (Java 7) читается
TryWithResourcesStatement:
try
Условные блоки выделения ресурсов opt Наконец optResourceSpecification:
(
Ресурсы;
opt)
Ресурсы:
Ресурс ресурсов;
РесурсыРесурс:
VariableModifiers opt Тип VariableDeclaratorId=
Выражение
И VariableModifiers расширяется как (раздел 14.4),
VariableModifiers:
VariableModifier
VariableModifiers VariableModifierVariableModifier: один из
Аннотацияfinal
Здесь вы: VariableModifier может иметь аннотацию. Ну, это в основном означает, что мы можем написать что-то вроде этого:
try( @SomeAnnotation SomeType obj = createSomeType() ) {
//some code
}
Итак, мой вопрос: как и какие аннотации могут быть использованы в try-with-resources и для достижения какого поведения? Любая инновационная идея? Кто-нибудь их использовал?