/** * Copyright 2005-2014 Restlet * * The contents of this file are subject to the terms of one of the following * open source licenses: Apache 2.0 or or EPL 1.0 (the "Licenses"). You can * select the license that you prefer but you may not use this file except in * compliance with one of these Licenses. * * You can obtain a copy of the Apache 2.0 license at * http://www.opensource.org/licenses/apache-2.0 * * You can obtain a copy of the EPL 1.0 license at * http://www.opensource.org/licenses/eclipse-1.0 * * See the Licenses for the specific language governing permissions and * limitations under the Licenses. * * Alternatively, you can obtain a royalty free commercial license with less * limitations, transferable or non-transferable, directly at * http://restlet.com/products/restlet-framework * * Restlet is a registered trademark of Restlet S.A.S. */ package org.restlet.example.ext.wadl; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.restlet.Request; import org.restlet.Response; import org.restlet.Restlet; import org.restlet.ext.wadl.ApplicationInfo; import org.restlet.ext.wadl.DocumentationInfo; import org.restlet.ext.wadl.WadlApplication; import org.restlet.routing.Router; public class FirstResourceApplication extends WadlApplication { /** The list of items is persisted in memory. */ private final ConcurrentMap<String, Item> items = new ConcurrentHashMap<String, Item>(); /** * Creates a root Restlet that will receive all incoming calls. */ @Override public synchronized Restlet createInboundRoot() { // Create a router Restlet that defines routes. Router router = new Router(getContext()); // Defines a route for the resource "list of items" router.attach("/items", ItemsResource.class); // Defines a route for the resource "item" // router.attach("/items/{itemName}", ItemResource.class); return router; } /** * Returns the list of registered items. * * @return the list of registered items. */ public ConcurrentMap<String, Item> getItems() { return items; } @Override public ApplicationInfo getApplicationInfo(Request request, Response response) { ApplicationInfo result = super.getApplicationInfo(request, response); DocumentationInfo docInfo = new DocumentationInfo( "This sample application shows how to generate online documentation."); docInfo.setTitle("First resource sample application."); result.setDocumentation(docInfo); return result; } }