Package org.jboss.resteasy.links

## Annotation Type LinkResource

-     @Target(METHOD)
      @Retention(RUNTIME)
      @Documented
      public @interface LinkResource

  Use this to mark JAX-RS methods that should be included in the REST service discovery. All parameters are optional and may be guessed from the method, whenever possible.
  Author:
    Stéphane Épardaud

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element | Description
    --- | --- | ---
    `String` | `constraint` | EL expression that should return a boolean indicating whether or not this service link should be used.
    `String` | `entityClassName` |
    `ParamBinding[]` | `matrixParameters` | List of matrix parameters which should be attached to the link.
    `String[]` | `pathParameters` | List of path parameter EL from the leftmost URI path parameter to the rightmost.
    `ParamBinding[]` | `queryParameters` | List of query parameters which should be attached to the link.
    `String` | `rel` | The link relation.
    `Class<?>` | `value` | The type of entity that should receive links for this service.

- - ### Element Detail

    - #### value

          Class<?> value

      The type of entity that should receive links for this service. Defaults to the request's body entity type, or the response entity type if they are not a `Collection` or a `Response`.
      Default:
        java.lang.Void.class

  - - #### entityClassName

          String entityClassName

      Default:
        ""

  - - #### rel

          String rel

      The link relation. This defaults as follows:
      list
        `GET` for `ResourceFacade` entities or methods that return a `Collection`
      self
        `GET` for non-`ResourceFacade` and non-`Collection` entities
      remove
        `DELETE`
      add
        `POST`
      update
        `PUT`
      Default:
        ""

  - - #### pathParameters

          String[] pathParameters

      List of path parameter EL from the leftmost URI path parameter to the rightmost. These can be normal constant string values or EL expressions (${foo.bar}) that will resolve using either the default EL context, or the context specified by a `@LinkELProvider` annotation. The default context resolves any non-qualified variable to properties of the response entity for whom we're discovering links, and has an extra binding for the "this" variable which is the response entity as well.

      If there are too many parameters for the current path, only the leftmost useful ones will be used.

      Defaults to using discovery of values from the entity itself with `@ResourceID`, `@ResourceIDs`, JAXB's @XmlID or JPA's @Id and `@ParentResource`.

      This is not used for `ResourceFacade` entities, which provide their own list of path parameters.

      Default:
        {}

  - - #### queryParameters

          ParamBinding[] queryParameters

      List of query parameters which should be attached to the link.

      Default:
        {}

  - - #### matrixParameters

          ParamBinding[] matrixParameters

      List of matrix parameters which should be attached to the link.

      Default:
        {}

  - - #### constraint

          String constraint

      EL expression that should return a boolean indicating whether or not this service link should be used. This is useful for security constraints limiting access to resources. Defaults to using the `@RolesAllowed` annotation using the current `SecurityContext` to check the current user's permissions.

      This can be a normal constant boolean value ("true" or "false") or an EL expression (${foo.bar}) that will resolve using either the default EL context, or the context specified by a `@LinkELProvider` annotation.

      For entities that are not `ResourceFacade`, the default context resolves any non-qualified variable to properties of the response entity for whom we're discovering links, and has an extra binding for the "this" variable which is the response entity as well.

      For entities that are a `ResourceFacade`, the default context has single binding for the "this" variable which is the `ResourceFacade`'s entity type (`Class` instance).

      Default:
        ""