|
||||||||||
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 java.lang.String |
REL
Rel link param from RFC 5988. |
static java.lang.String |
TITLE
Title link param from RFC 5988. |
static java.lang.String |
TYPE
Type link param from RFC 5988. |
Constructor Summary | |
---|---|
Link()
|
Method Summary | |
---|---|
boolean |
equals(java.lang.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(java.lang.Class<?> resource,
java.lang.String method)
Generate a link by introspecting a resource method. |
static Link.Builder |
fromResourceMethod(java.lang.Class<?> resource,
java.lang.String method,
java.lang.String rel)
Generate a link by introspecting a resource method. |
static Link.Builder |
fromUri(java.lang.String uri)
Create a new builder instance initialized from an existing URI represented as a string. |
static Link.Builder |
fromUri(java.net.URI uri)
Create a new builder instance initialized from an existing URI. |
java.util.Map<java.lang.String,java.lang.String> |
getParams()
Returns an immutable map that includes all the link parameters defined on this link. |
java.lang.String |
getRel()
Returns the value associated with the link "rel" param, or null if this param is not specified. |
java.util.List<java.lang.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. |
java.lang.String |
getTitle()
Returns the value associated with the link "title" param, or null if this param is not specified. |
java.lang.String |
getType()
Returns the value associated with the link "type" param, or null if this param is not specified. |
java.net.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. |
java.lang.String |
toString()
Returns a string representation as a link header (RFC 5988). |
static Link |
valueOf(java.lang.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 java.lang.String TITLE
public static final java.lang.String REL
public static final java.lang.String TYPE
Constructor Detail |
---|
public Link()
Method Detail |
---|
public java.net.URI getUri()
public UriBuilder getUriBuilder()
UriBuilder
initialized with this link's underlying URI.
public java.lang.String getRel()
null
if this param is not specified.
null
.public java.util.List<java.lang.String> getRels()
public java.lang.String getTitle()
null
if this param is not specified.
null
.public java.lang.String getType()
null
if this param is not specified.
null
.public java.util.Map<java.lang.String,java.lang.String> getParams()
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
other
- Object to compare against.
true
if equal, false
otherwise.public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public static Link valueOf(java.lang.String value) throws java.lang.IllegalArgumentException
link ::= '<' uri '>' (';' link-param)* link-param ::= name '=' quoted-stringSee RFC 5988 for more information.
value
- String representation.
java.lang.IllegalArgumentException
- if a syntax error is found.public static Link.Builder fromUri(java.net.URI uri) throws java.lang.IllegalArgumentException
uri
- a URI that will be used to initialize the builder.
java.lang.IllegalArgumentException
- if uri is null
.public static Link.Builder fromUri(java.lang.String uri) throws java.lang.IllegalArgumentException
uri
- a URI that will be used to initialize the builder.
java.lang.IllegalArgumentException
- if uri is null
.public static Link.Builder fromLink(Link link)
link
- other link used for initialization.
public static Link.Builder fromResourceMethod(java.lang.Class<?> resource, java.lang.String method) throws java.lang.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.
java.lang.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(java.lang.Class<?> resource, java.lang.String method, java.lang.String rel) throws java.lang.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.
java.lang.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 |