Olá Pessoal, tudo bem com vocês?
Eu estou desenvolvendo um Plugin para o Eclipse(Helios), cujo objetivo é interpretar as anotações de um projeto-alvo e gerar arquivos dentro do mesmo, a partir dessas informações.
Por exemplo: Digamos que, ao clicar com o botão direito em cima de um projeto, o plugin apareça como uma opção de menu . Após clicar nessa opção, o plugin interpretaria todas as anotações do tipo @AnnotationX presentes no projeto-alvo, e geraria arquivos de acordo com as informações que ele encontraria nessas annotations.
Para carregar as classes do projeto-alvo, eu utilizo um URLClassLoader com o classpath dele. Com isso eu consigo carregar os objetos Class através do Classloader, mas aí que ocorre o problema: Quando tento manipular o @AnnotationX via reflection, eu não consigo capturar as informações que haviam nela pq eu não consigo atribuir a mesma para um tipo conhecido no meu projeto
AnnotationX minhaAnotacao = (AnnotationX) annotation; <- Ocorre um ClassCastException.
A minha pergunta então é a seguinte:
Tanto o projeto-alvo, quanto o meu plugin, irão conter um .jar com esse mesmo conjunto de anotações que eu defini. Logo, a anotação que o usuário vai definir no projeto dele, vai ser a mesma (fisicamente) que estará no meu plugin.
Existe alguma forma de eu realizar esse Cast? Sugestões??
Obrigado!!!