1.1 --- a/src/main/java/de/uapcore/lightpit/LightPITModule.java Sat May 23 13:52:04 2020 +0200 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,101 +0,0 @@ 1.4 -/* 1.5 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 1.6 - * 1.7 - * Copyright 2018 Mike Becker. All rights reserved. 1.8 - * 1.9 - * Redistribution and use in source and binary forms, with or without 1.10 - * modification, are permitted provided that the following conditions are met: 1.11 - * 1.12 - * 1. Redistributions of source code must retain the above copyright 1.13 - * notice, this list of conditions and the following disclaimer. 1.14 - * 1.15 - * 2. Redistributions in binary form must reproduce the above copyright 1.16 - * notice, this list of conditions and the following disclaimer in the 1.17 - * documentation and/or other materials provided with the distribution. 1.18 - * 1.19 - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1.20 - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1.21 - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1.22 - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 1.23 - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1.24 - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1.25 - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 1.26 - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 1.27 - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 1.28 - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1.29 - * POSSIBILITY OF SUCH DAMAGE. 1.30 - * 1.31 - */ 1.32 -package de.uapcore.lightpit; 1.33 - 1.34 -import javax.servlet.annotation.WebServlet; 1.35 -import java.lang.annotation.*; 1.36 - 1.37 - 1.38 -/** 1.39 - * Contains information about a LightPIT module. 1.40 - * <p> 1.41 - * This annotation is typically used to annotate the {@link WebServlet} which 1.42 - * implements the module's functionality. 1.43 - */ 1.44 -@Documented 1.45 -@Retention(RetentionPolicy.RUNTIME) 1.46 -@Target(ElementType.TYPE) 1.47 -public @interface LightPITModule { 1.48 - /** 1.49 - * Base name of the module specific resource bundle. 1.50 - * 1.51 - * @return a base name suitable for the JSTL tag 'setBundle'. 1.52 - */ 1.53 - String bundleBaseName(); 1.54 - 1.55 - /** 1.56 - * The path for this module, which will also be used for the menu entry. 1.57 - * <p> 1.58 - * This path must adhere to the URL pattern of the Servlet but must not 1.59 - * contain any starting or trailing slashes. 1.60 - * 1.61 - * @return the relative module path 1.62 - */ 1.63 - String modulePath(); 1.64 - 1.65 - /** 1.66 - * If set to <code>true</code>, this module is always loaded, but never 1.67 - * visible in the menu or the Web UI module manager. 1.68 - * 1.69 - * @return true, if this is a system module 1.70 - */ 1.71 - boolean systemModule() default false; 1.72 - 1.73 - /** 1.74 - * Optionally specifies a default priority for this module. 1.75 - * The priority is used to order the menu entries. 1.76 - * 1.77 - * @return an integer priority 1.78 - */ 1.79 - int defaultPriority() default 1000; 1.80 - 1.81 - /** 1.82 - * Class representing the annotation. 1.83 - * This is necessary, because the EL resolver cannot deal with 1.84 - * annotation objects. 1.85 - * <p> 1.86 - * Note, that only the properties which are interesting for the JSP pages 1.87 - * are proxied by this object. 1.88 - */ 1.89 - class ELProxy { 1.90 - private final String bundleBaseName, modulePath; 1.91 - 1.92 - public ELProxy(LightPITModule annotation) { 1.93 - bundleBaseName = annotation.bundleBaseName(); 1.94 - modulePath = annotation.modulePath(); 1.95 - } 1.96 - 1.97 - public String getBundleBaseName() { 1.98 - return bundleBaseName; 1.99 - } 1.100 - public String getModulePath() { 1.101 - return modulePath; 1.102 - } 1.103 - } 1.104 -}