|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.ws.rs.core.Link
public final class Link
Class representing hypermedia links. A hypermedia link may include additional
parameters beyond its underlying URI. Parameters such as "rel" or "type"
provide additional meta-data and can be used to create instances of
Invocation.Builder in order to follow links.
The methods toString() and valueOf(java.lang.String) can be used to serialize
and de-serialize a link into a link header (RFC 5988).
Client.invocation(javax.ws.rs.core.Link)| Nested Class Summary | |
|---|---|
static class |
Link.Builder
Builder class for hypermedia links. |
static class |
Link.JaxbAdapter
An implementation of JAXB XmlAdapter
that maps the JAX-RS Link type to a value that can be
marshalled and unmarshalled by JAXB. |
static class |
Link.JaxbLink
Value type for Link that can be marshalled and
unmarshalled by JAXB. |
| Field Summary | |
|---|---|
static String |
REL
Rel link param from RFC 5988. |
static String |
TITLE
Title link param from RFC 5988. |
static String |
TYPE
Type link param from RFC 5988. |
| Constructor Summary | |
|---|---|
Link()
|
|
| Method Summary | |
|---|---|
boolean |
equals(Object other)
Equality test for links. |
static Link.Builder |
fromLink(Link link)
Create a new builder instance initialized from another link. |
static Link.Builder |
fromResourceMethod(Class<?> resource,
String method)
Generate a link by introspecting a resource method. |
static Link.Builder |
fromResourceMethod(Class<?> resource,
String method,
String rel)
Generate a link by introspecting a resource method. |
static Link.Builder |
fromUri(String uri)
Create a new builder instance initialized from an existing URI represented as a string. |
static Link.Builder |
fromUri(URI uri)
Create a new builder instance initialized from an existing URI. |
Map<String,String> |
getParams()
Returns an immutable map that includes all the link parameters defined on this link. |
String |
getRel()
Returns the value associated with the link "rel" param, or null if this param is not specified. |
List<String> |
getRels()
Returns the value associated with the link "rel" param as a list of strings or the empty list if "rel" is not defined. |
String |
getTitle()
Returns the value associated with the link "title" param, or null if this param is not specified. |
String |
getType()
Returns the value associated with the link "type" param, or null if this param is not specified. |
URI |
getUri()
Returns the underlying URI associated with this link. |
UriBuilder |
getUriBuilder()
Convenience method that returns a UriBuilder
initialized with this link's underlying URI. |
int |
hashCode()
Hash code computation for links. |
String |
toString()
Returns a string representation as a link header (RFC 5988). |
static Link |
valueOf(String value)
Simple parser to convert link header string representations into a link. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String TITLE
public static final String REL
public static final String TYPE
| Constructor Detail |
|---|
public Link()
| Method Detail |
|---|
public URI getUri()
public UriBuilder getUriBuilder()
UriBuilder
initialized with this link's underlying URI.
public String getRel()
null if this param is not specified.
null.public List<String> getRels()
public String getTitle()
null if this param is not specified.
null.public String getType()
null if this param is not specified.
null.public Map<String,String> getParams()
public boolean equals(Object other)
equals in class Objectother - Object to compare against.
true if equal, false otherwise.public int hashCode()
hashCode in class Objectpublic String toString()
toString in class Object
public static Link valueOf(String value)
throws IllegalArgumentException
link ::= '<' uri '>' (';' link-param)*
link-param ::= name '=' quoted-string
See RFC 5988 for more information.
value - String representation.
IllegalArgumentException - if a syntax error is found.
public static Link.Builder fromUri(URI uri)
throws IllegalArgumentException
uri - a URI that will be used to initialize the builder.
IllegalArgumentException - if uri is null.
public static Link.Builder fromUri(String uri)
throws IllegalArgumentException
uri - a URI that will be used to initialize the builder.
IllegalArgumentException - if uri is null.public static Link.Builder fromLink(Link link)
link - other link used for initialization.
public static Link.Builder fromResourceMethod(Class<?> resource,
String method)
throws IllegalArgumentException
fromResourceMethod(resource, method, method) where the method
name is used as the value of the "rel" parameter.
resource - resource class.method - name of resource method.
IllegalArgumentException - if any argument is null or no method is found.fromResourceMethod(java.lang.Class, java.lang.String, java.lang.String)
public static Link.Builder fromResourceMethod(Class<?> resource,
String method,
String rel)
throws IllegalArgumentException
Generate a link by introspecting a resource method. Finds the first method of a given name and generates a link with the appropriate URI and values for "type" and "rel".
The value of "type" is set to be the first media-type in @Produces,
and is omitted if that annotation is not present on the method. The value
of "rel" must be specified as an argument to this method.
resource - resource class.method - name of resource method.rel - value of "rel" parameter.
IllegalArgumentException - if any argument is null or no method is found.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||