08a3696ccd57db64167b3e31860f1ac2971f9c18
[vfc/nfvo/wfengine.git] / winery / org.eclipse.winery.repository / src / main / java / org / eclipse / winery / repository / resources / IHasName.java
1 /*******************************************************************************
2  * Copyright (c) 2012-2013 University of Stuttgart.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * and the Apache License 2.0 which both accompany this distribution,
6  * and are available at http://www.eclipse.org/legal/epl-v10.html
7  * and http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Contributors:
10  *     Oliver Kopp - initial API and implementation
11  *******************************************************************************/
12 package org.eclipse.winery.repository.resources;
13
14 import javax.ws.rs.FormParam;
15 import javax.ws.rs.GET;
16 import javax.ws.rs.PUT;
17 import javax.ws.rs.Path;
18 import javax.ws.rs.Produces;
19 import javax.ws.rs.core.MediaType;
20 import javax.ws.rs.core.Response;
21
22 import org.restdoc.annotations.RestDoc;
23
24 /**
25  * Ensures that the AbstractComponentInstance has a getName method
26  */
27 public interface IHasName {
28         
29         @GET
30         @Path("name")
31         // @formatter:off
32         @RestDoc(methodDescription = "Returns the name of the element. " +
33         "Defaults to the ID of the element. " +
34         "Some other ComponentInstances either carry a name or an ID. ")
35         // @formatter:on
36         @Produces(MediaType.TEXT_PLAIN)
37         public String getName();
38         
39         @PUT
40         @Path("name")
41         public Response setName(@FormParam("value") String name);
42         
43 }