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 Representation getWidget(@UriParam("widgetid") String id) {
    String replyStr = getWidgetAsXml(id);
    StringRepresentation reply = new StringRepresentation(replyStr,
      "application/widgets+xml");
    return reply;
  }
  
  @HttpMethod(PUT)
  public void updateWidget(@UriParam("widgetid") String id,
    Representation<Source> update) {
    updateWidgetFromXml(id, update);
  }
  
  ...
}