[ 
https://issues.apache.org/jira/browse/FELIX-3889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13676035#comment-13676035
 ] 

Guillaume Sauthier commented on FELIX-3889:
-------------------------------------------

I recently re-think about this issue.
On my case, I have an annotation that I want to be both a marker of handler AND 
readable at runtime.

What I propose is to introduce an @Ignore meta-annotation that you could place 
on top of your annotation that you want the manipulator to ignore.
To be consistent, we could also provides a @HandlerBinding meta-annotation that 
would explicitely link an annotation to a handler.
If this is accepted, I'll revert your commit, and provides theses 
meta-annotations with needed manipulator manipulation.

To be perfectly honest, using meta-annotation currently only works with 
bnd-ipojo-plugin:
http://felix.staging.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/using-stereotypes.html#manipulation
It's only a matter of time to evolve the maven-ipojo-plugin to wrap the maven 
depedencies into a ResourceStore to be able to load annotation's definition 
from dependencies.

WDYT ?

                
> Excluding run-time visible annotations from custom handler processing
> ---------------------------------------------------------------------
>
>                 Key: FELIX-3889
>                 URL: https://issues.apache.org/jira/browse/FELIX-3889
>             Project: Felix
>          Issue Type: Improvement
>          Components: iPOJO
>            Reporter: Göktürk Gezer
>            Assignee: Göktürk Gezer
>            Priority: Minor
>
> Annotations those put to ipojo components along with @Component annotation 
> are treated as custom handler annotations. This make it impossible to put 
> annotations to components for other purposes.
> There are plenty of codes depend on reading run-time visible annotations at 
> run-time. Due to current behavior of annotation processing we're lefting out 
> those codes.
> Besides there is no point in making handler annotation runtime visible, since 
> handler itself will already see those annotation in generated metadata. Also 
> reading handler annotation's attributes at run-time is clear design 
> inefficiency and does not worth to left out all existing codes depend on 
> runtime visible annotations.
> Lefting out annotations with runtime retention policy at handler metadata 
> generation will fix all those issues above.
> This change won't affect current IPojo code and any custom handler 
> implementation I know of, though it'll improve the component's capability to 
> engage with other 3th party codes mentioned above. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to