src/java/de/uapcore/lightpit/RequestMapping.java

Sun, 08 Apr 2018 14:40:57 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 08 Apr 2018 14:40:57 +0200
changeset 24
8137ec335416
parent 18
a94b172c3a93
permissions
-rw-r--r--

updates copyright header

     1 /*
     2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     3  * 
     4  * Copyright 2018 Mike Becker. All rights reserved.
     5  * 
     6  * Redistribution and use in source and binary forms, with or without
     7  * modification, are permitted provided that the following conditions are met:
     8  *
     9  *   1. Redistributions of source code must retain the above copyright
    10  *      notice, this list of conditions and the following disclaimer.
    11  *
    12  *   2. Redistributions in binary form must reproduce the above copyright
    13  *      notice, this list of conditions and the following disclaimer in the
    14  *      documentation and/or other materials provided with the distribution.
    15  *
    16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    17  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    19  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
    20  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    26  * POSSIBILITY OF SUCH DAMAGE.
    27  * 
    28  */
    29 package de.uapcore.lightpit;
    31 import java.lang.annotation.Documented;
    32 import java.lang.annotation.ElementType;
    33 import java.lang.annotation.Retention;
    34 import java.lang.annotation.RetentionPolicy;
    35 import java.lang.annotation.Target;
    38 /**
    39  * Maps requests to methods.
    40  * 
    41  * This annotation is used to annotate methods within classes which
    42  * override {@link AbstractLightPITServlet}.
    43  */
    44 @Documented
    45 @Retention(RetentionPolicy.RUNTIME)
    46 @Target(ElementType.METHOD)
    47 public @interface RequestMapping {
    49     /**
    50      * Specifies the HTTP method.
    51      * 
    52      * @return the HTTP method handled by the annotated Java method
    53      */
    54     HttpMethod method();
    56     /**
    57      * Specifies the request path relative to the module path.
    58      * 
    59      * If a menu key is specified, this is also the path, which is linked
    60      * by the menu entry.
    61      * 
    62      * The path must be specified <em>without</em> leading and trailing slash.
    63      * 
    64      * @return the request path the annotated method should handle
    65      */
    66     String requestPath() default "";
    68     /**
    69      * Returns the properties key for the (sub) menu label.
    70      * 
    71      * This should only be used for {@link HttpMethod#GET} requests.
    72      * 
    73      * @return the properties key
    74      */
    75     String menuKey() default "";
    76 }

mercurial