View Javadoc
1   /*
2    * Licensed to The Apereo Foundation under one or more contributor license
3    * agreements. See the NOTICE file distributed with this work for additional
4    * information regarding copyright ownership.
5    *
6    *
7    * The Apereo Foundation licenses this file to you under the Educational
8    * Community License, Version 2.0 (the "License"); you may not use this file
9    * except in compliance with the License. You may obtain a copy of the License
10   * at:
11   *
12   *   http://opensource.org/licenses/ecl2.txt
13   *
14   * Unless required by applicable law or agreed to in writing, software
15   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
17   * License for the specific language governing permissions and limitations under
18   * the License.
19   *
20   */
21  
22  package org.opencastproject.util.doc.rest;
23  
24  import java.lang.annotation.Retention;
25  import java.lang.annotation.RetentionPolicy;
26  
27  /**
28   * This annotation type is used for annotating responses for RESTful query. This annotation type needs to be kept until
29   * runtime.
30   */
31  @Retention(RetentionPolicy.RUNTIME)
32  public @interface RestResponse {
33  
34    /**
35     * @return a HTTP response code, such as 200, 400 etc. Developer should use constants in <a
36     *         href="http://download.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html"
37     *         >javax.servlet.http.HttpServletResponse</a> instead of magic numbers.
38     */
39    int responseCode();
40  
41    /**
42     * @return a description of the response.
43     */
44    String description();
45  
46  }