High-level interfaces and annotations used to create RESTful service resources. E.g.:

@UriTemplate("widgets/{widgetid}")
@ConsumeMime("application/widgets+xml")
@ProduceMime("application/widgets+xml")
public class WidgetResource {

  @HttpMethod(GET)
  public String getWidget(@UriParam("widgetid") String id) {
    return getWidgetAsXml(id);
  }
  
  @HttpMethod(PUT)
  public void updateWidget(@UriParam("widgetid") String id,
    Entity<Source> update) {
    updateWidgetFromXml(id, update);
  }
  
  ...
}