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]

