org.glassfish.jersey.linking
Annotation Type InjectLink


@Target(value={FIELD,TYPE})
@Retention(value=RUNTIME)
@Beta
public @interface InjectLink

Specifies a link injection target in a returned representation bean. May be used on fields of type String or URI. One of value() or resource() must be specified.

Author:
Mark Hadley, Gerard Davison (gerard.davison at oracle.com)

Optional Element Summary
 String anchor
          Specifies the anchor
 Binding[] bindings
          Specifies the bindings for embedded URI template parameters.
 String condition
          Specifies a boolean EL expression whose value determines whether a Ref is set (true) or not (false).
 InjectLink.Extension[] extensions
          Specifies extension parameters as name-value pairs.
 String hreflang
          Specifies the lang of the referenced resource
 String media
          Specifies the media
 String method
          Used in conjunction with resource() to specify a subresource locator or method.
 String rel
          Specifies the relationship.
 Class<?> resource
          Specifies a resource class whose @Path URI template will be used to build the injected URI.
 String rev
          Specifies the reverse relationship.
 InjectLink.Style style
          The style of URI to inject
 String title
          Specifies the title.
 String type
          Specifies the media type.
 String value
          Specifies a URI template that will be used to build the injected URI.
 

style

public abstract InjectLink.Style style
The style of URI to inject

Default:
org.glassfish.jersey.linking.InjectLink.Style.ABSOLUTE_PATH

value

public abstract String value
Specifies a URI template that will be used to build the injected URI. The template may contain both URI template parameters (e.g. {id}) and EL expressions (e.g. ${instance.id}) using the same implicit beans as Binding.value(). URI template parameter values are resolved as described in resource(). E.g. the following three alternatives are equivalent:
 @Ref("{id}")
 @Ref(value="{id}", bindings={
   @Binding(name="id" value="${instance.id}"}
 )
 @Ref("${instance.id}")
 

Default:
""

resource

public abstract Class<?> resource
Specifies a resource class whose @Path URI template will be used to build the injected URI. Embedded URI template parameter values are resolved as follows:
  1. If the bindings() property contains a binding specification for the parameter then that is used
  2. Otherwise an implicit binding is used that extracts the value of a bean property by the same name as the URI template from the implicit instance bean (see Binding).

E.g. assuming a resource class SomeResource with the following @Path("{id}") annotation, the following two alternatives are therefore equivalent:

 @Ref(resource=SomeResource.class)
 @Ref(resource=SomeResource.class, bindings={
   @Binding(name="id" value="${instance.id}"}
 )
 

Default:
java.lang.Class.class

method

public abstract String method
Used in conjunction with resource() to specify a subresource locator or method. The value is the name of the method. The value of the method's @Path annotation will be appended to the value of the class-level @Path annotation separated by '/' if necessary.

Default:
""

bindings

public abstract Binding[] bindings
Specifies the bindings for embedded URI template parameters.

See Also:
Binding
Default:
{}

condition

public abstract String condition
Specifies a boolean EL expression whose value determines whether a Ref is set (true) or not (false). Omission of a condition will always insert a ref.

Default:
""

rel

public abstract String rel
Specifies the relationship.

Default:
""

rev

public abstract String rev
Specifies the reverse relationship.

Default:
""

type

public abstract String type
Specifies the media type.

Default:
""

title

public abstract String title
Specifies the title.

Default:
""

anchor

public abstract String anchor
Specifies the anchor

Default:
""

media

public abstract String media
Specifies the media

Default:
""

hreflang

public abstract String hreflang
Specifies the lang of the referenced resource

Default:
""

extensions

public abstract InjectLink.Extension[] extensions
Specifies extension parameters as name-value pairs.

Default:
{}


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.