Revision: 22720
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 20, 2010 08:02 by kungfoo
Initial Code
public class GuiceVariableResolver extends VariableResolver {
private final VariableResolver wrapped;
public GuiceVariableResolver(VariableResolver wrapped) {
if (wrapped == null)
throw new NullPointerException("wrapped " + VariableResolver.class.getName());
this.wrapped = wrapped;
}
@SuppressWarnings("unchecked")
@Override
public Object resolveVariable(FacesContext fctx, String name) throws EvaluationException {
Object resolved = wrapped.resolveVariable(fctx, name);
if (resolved != null) {
Map<String, Object> map = fctx.getExternalContext().getApplicationMap();
Injector injector = (Injector) map.get(Injector.class.getName());
if (injector == null)
throw new NullPointerException("Could not locate " + "Guice Injector in application scope using"
+ " key '" + Injector.class.getName() + "'");
injector.injectMembers(resolved);
}
return resolved;
}
}
Initial URL
Initial Description
Initial Title
Guice Variable Resolver
Initial Tags
Initial Language
Java