@RequestScoped @Path("req") public class RequestScopedResource { @Inject AppScopedResource appResource; @Inject RequestScopedBean bean; UriInfo uriInfo; @Inject App.JaxRsApplication jaxRsApplication;
@Named @RequestScoped public class MyBean { @Inject private HttpServletRequest request; public String getText() { return "Called from CDI\n"; } public String getServletPath() { return request.getServletPath(); } }
@RequestScoped public class FormDataBean { private int age; @Inject private SecondBean injectedBean;
@Produces @Named @RequestScoped public FlashContext getFlashContext() { return currentContext; }
/** * Resource to test CDI injection into JAX-RS resource via setter. * * @author Adam Lindenthal (adam.lindenthal at oracle.com) */ @Path("method") @RequestScoped public class MethodInjectionResource { private FormDataBean bean; @Inject public void setFormDataBean(@Valid @BeanParam final FormDataBean form) { bean = form; } @POST @Produces("text/plain") public String get() { return bean.getName() + ":" + bean.getAge() + ":" + bean.getInjectedBean().getMessage() + ":" + bean.getInjectedPath(); } }
/** * @author Arun Gupta */ @Named @RequestScoped public class FlowScopedBean { public String sayHello() { return "Hello there!"; } }
@Named @RequestScoped public class ViewHandler implements Serializable { @EJB DocumentService documentService;
@Named @Produces @RequestScoped public ExternalContext getExternalContext(final FacesContext context) { return context.getExternalContext(); } }
@RequestScoped @Path("/swagger.{type:json|yaml}") public class SwaggerApiListing extends ApiListingResource { @Produces @RequestScoped private SwaggerSerializers serializers = new SwaggerSerializers(); }
@Produces @RequestScoped @Named public NavigationHandler getNavigationHandler() { if (context != null) { Application application = context.getApplication(); if (application != null) { return application.getNavigationHandler(); } } return null; } }
@Path("/endp") @DenyAll @RequestScoped public class EjbEndpoint { @EJB private IService serviceEJB; @GET @Path("/getEJBEcho") @RolesAllowed("Echoer") public String getEJBEcho(@Context SecurityContext sec, @QueryParam("input") String input) { return serviceEJB.echo(input); } @GET @Path("/getEJBPrincipalClass") @RolesAllowed("Tester") public String getEJBPrincipalClass(@Context SecurityContext sec) { return serviceEJB.getPrincipalClass(); } @GET @Path("/getEJBSubjectClass") @RolesAllowed("Tester") public String getEJBSubjectClass(@Context SecurityContext sec) throws Exception { return serviceEJB.getSubjectClass(); } }
/** * Using a request scoped proxy ensures a serializable proxy. * Using a proxy instead of a custom wrapper allows upward compatibility. * The disadvantage is the lower performance (due to the generated proxy. * * @return current faces-context */ @Produces @RequestScoped protected FacesContext currentFacesContext() { return FacesContext.getCurrentInstance(); } }
@Produces @RequestScoped public MutableResponse getResponse(){ return requestStarted.getResponse(); }
@Produces @RequestScoped public Flash getFlash() { FacesContext facesContext = FacesContext.getCurrentInstance(); if (facesContext == null) { throw new ContextNotActiveException("FacesContext is not active"); } Flash ctx = facesContext.getExternalContext().getFlash(); if (ctx == null) { throw new ContextNotActiveException("Flash is not active"); } return ctx; } }
@Produces @RequestScoped public ExternalContext getExternalContext(final FacesContext context) { return context.getExternalContext(); } }
@Produces @RequestScoped public NavigationHandler getNavigationHandler() { if (context != null) { Application application = context.getApplication(); if (application != null) { return application.getNavigationHandler(); } } return null; } }
/** * Request-scoped counter. */ @RequestScoped public class RequestScopedCounter { private final AtomicInteger counter = new AtomicInteger(); public int getNumber() { return counter.incrementAndGet(); } }
@RequestScoped @Stateful public class Qux { @EJB Baz baz; public Baz getBaz() { return baz; } public int ping(int base) { return baz.ping(++base); } }
@Test public void assertAnnotationTypeWorks() { assertEquals(AnnotationInstanceProvider.of(RequestScoped.class).annotationType(), RequestScoped.class); }
@Named @RequestScoped public class CDIBean { @Inject private HttpServletRequest request; public String getText() { return "Called from CDI"; } public void setTextViaInjectedRequest() { request.setAttribute("text", "Called from CDI via injected request"); } }