Hi,

If you try to grab the object from a @Requires injected field, you are getting 
a proxy. Disable the proxy to get a direct reference on the object.

Regards,

Clement

On 2 mai 2013, at 13:46, Michiel Vermandel <[email protected]> wrote:

> Hi,
> 
> I have some custom annotations with retention == runtime.
> Now, when I use these annotations on an object that is also annotated as 
> iPOJO component, I cannot access my annotations anymore on a created instance 
> of the component.
> If I list the annotations on such annotated field, I get something like 
> $Proxy17 as class instead of my custom annotation class.
> 
> This how I try to get to the annotations:
> 
> (simplified example:)
> 
> my iPOJO with custom annotation:
> 
> @Component
> @Provides
> public class DeviceService{
>     
>     @Channel(payload = DeviceBean.class, type= VOLUME_STATE_CHANGED) // <= 
> custom annotation
>     EventLogger volumeStateChanged;
> 
> ...
> 
> When I get hold of the component instance, I get to the original(manipulated) 
> object like this:
> Object instancePojo = ((InstanceManager) instance).getPojoObject();
> Then I get the field volumeStateChanged and try to get the @Channel 
> annotation.
> Which fails => field.getAnnotation(Channel.class) == null
> 
> 
> Is there a way to keep/get the original annotation on my field?
> (The code should work outside iPOJO as well, So I need my custom - non iPOJO 
> - annotations)
> 
> Thanks!
> 
>  
> -----------------
> http://www.codessentials.com - Your essential software, for free!
> Follow us at http://twitter.com/#!/Codessentials


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to