Можно ли сгенерировать ошибку времени компиляции в зависимости от типа аннотируемого поля?
Я написал аннотацию Java, которая выглядит следующим образом:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD) // can I further limit this to only fields of type DomainObject?
public @interface Owns {
}
После недолгого осмотра я не смог понять, есть ли способ еще больше ограничить использование этой аннотации, чтобы можно было аннотировать только поля определенного типа. Эта аннотация является индивидуальной для нашего домена и может использоваться только в экземплярах нашего базового класса объектов домена.
Кто-нибудь знает, как обеспечить это во время компиляции?
Спасибо за любую помощь!