Package org.glassfish.jersey.linking
Annotation Type InjectLink
-
@Target({FIELD,TYPE}) @Retention(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 ofvalue()orresource()must be specified.- Author:
- Mark Hadley, Gerard Davison (gerard.davison at oracle.com)
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description StringanchorSpecifies the anchorBinding[]bindingsSpecifies the bindings for embedded URI template parameters.StringconditionSpecifies a boolean EL expression whose value determines whether a Ref is set (true) or not (false).InjectLink.Extension[]extensionsSpecifies extension parameters as name-value pairs.StringhreflangSpecifies the lang of the referenced resourceStringmediaSpecifies the mediaStringmethodUsed in conjunction withresource()to specify a subresource locator or method.StringrelSpecifies the relationship.Class<?>resourceSpecifies a resource class whose @Path URI template will be used to build the injected URI.StringrevSpecifies the reverse relationship.InjectLink.StylestyleThe style of URI to injectStringtitleSpecifies the title.StringtypeSpecifies the media type.StringvalueSpecifies a URI template that will be used to build the injected URI.
-
-
-
Element Detail
-
style
InjectLink.Style style
The style of URI to inject- Default:
- org.glassfish.jersey.linking.InjectLink.Style.ABSOLUTE_PATH
-
-
-
value
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 asBinding.value(). URI template parameter values are resolved as described inresource(). 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
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:- If the
bindings()property contains a binding specification for the parameter then that is used - 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
instancebean (seeBinding).
E.g. assuming a resource class
SomeResourcewith 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
- If the
-
-
-
method
String method
Used in conjunction withresource()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:
- ""
-
-
-
condition
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
String rel
Specifies the relationship.- Default:
- ""
-
-
-
rev
String rev
Specifies the reverse relationship.- Default:
- ""
-
-
-
type
String type
Specifies the media type.- Default:
- ""
-
-
-
title
String title
Specifies the title.- Default:
- ""
-
-
-
anchor
String anchor
Specifies the anchor- Default:
- ""
-
-
-
media
String media
Specifies the media- Default:
- ""
-
-
-
hreflang
String hreflang
Specifies the lang of the referenced resource- Default:
- ""
-
-
-
extensions
InjectLink.Extension[] extensions
Specifies extension parameters as name-value pairs.- Default:
- {}
-
-