Top Description Methods
javax.ws.rs

public @Interface BeanParam

extends Annotation
Annotations
@Target:PARAMETER, METHOD, FIELD
@Retention:RUNTIME
@Documented
Imports
java.lang.annotation.Documented, .ElementType, .Retention, .RetentionPolicy, .Target

The annotation that may be used to inject custom JAX-RS "parameter aggregator" value object into a resource class field, property or resource method parameter.

The JAX-RS runtime will instantiate the object and inject all it's fields and properties annotated with either one of the @XxxParam annotation (@PathParam, @FormParam ...) or the @Context annotation. For the POJO classes same instantiation and injection rules apply as in case of instantiation and injection of request-scoped root resource classes.

For example:

public class MyBean {
  @FormParam("myData")
  private String data;

  @HeaderParam("myHeader")
  private String header;

  @PathParam("id")
  public void setResourceId(String id) {...}

  ...
}

@Path("myresources")
public class MyResources {
  @POST
  @Path("{id}")
  public void post(@BeanParam MyBean myBean) {...}

  ...
}

Because injection occurs at object creation time, use of this annotation on resource class fields and bean properties is only supported for the default per-request resource class lifecycle. Resource classes using other lifecycles should only use this annotation on resource method parameters.

Author
Marek Potociar
Since
2.0

Method Summary

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString