Try calling Component.getInstance(Facade,true) from your inner class.
Hi Ingo, ... Component.getInstance(Facade,true) works just fine, thank you that.
But it looks like a workaround to me, e.g. if a backing bean method depends on the injected facade it can not be called from within the wrapper (at least not without the workaround, wich clutters the code in a way). Calling backing bean methods this way happens quite often in my application, e.g. when implementing the RichFaces ExtendedDatamodel as inner class. It gets filter criteria via backing bean getters, those getters load default values via facades.
Any idear why the injected component is null?
As I understand it the injected component is null because it is in the outer class, which is a separate class from the inner class. It is helpful to understand that Seam performs injection by intercepting method calls. Since no method on the outer class is being called, Seam does not intercept the call and inject the value
Just finishing this topic.
Ingo is right. No bijection takes place if a class instance of a Seam component is used outside of a Seam context. Furthermore are
injected values disinjected (i.e. set to null) immediately after method completionas stated in the Seam reference (chapter 4.3 Bijection, Version 2.1.1.GA).