# Declarative Hyperlinking Example

This example demonstrates how to use the declarative hyperlink annotations.

## Contents

The example consists of one resource class and one representation class along with a couple of model classes:

`com.sun.jersey.samples.linking.resources.ItemResource`
  A resource class that produces a XML response to an HTTP GET.
`com.sun.jersey.samples.linking.representation.ItemRepresentation`
  A JAXB representation class used to produce XML. This class also contains @Link and @Ref annotations to produce hyperlinks in the XML document.

The mapping of the URI path space is presented in the following table:

URI path | Resource class | HTTP methods
--- | --- | ---
/items/{index} | ItemResource | GET

## Running the Example

Run the example using embedded GlassFish as follows:

run

> `mvn clean package embedded-glassfish:run`

From a web browser, visit:

> `http://localhost:8080/items/0
> http://localhost:8080/items/1
> http://localhost:8080/items/2
> `

Notice how the first has a self link, a next link but no previous link, the second has all three and the third only has a self link and prev link.

Observe the HTTP headers included in the responses (e.g. via `curl -v`). Notice that there is a HTTP Link header for next and previous when appropriate.