Posso gerar um erro de tempo de compilação com base no tipo de campo que está sendo anotado
Eu escrevi uma anotação em java que se parece com isso:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD) // can I further limit this to only fields of type DomainObject?
public @interface Owns {
}
Depois de olhar brevemente em volta, não consegui ver se havia uma maneira de limitar ainda mais o uso dessa anotação, para que apenas campos de um tipo específico pudessem ser anotados. Esta anotação é personalizada para o nosso domínio e só pode ser usada em instâncias da nossa classe de objeto de domínio base.
Alguém sabe como aplicar isso em tempo de compilação?
Obrigado por qualquer ajuda!