⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jasper41mangler.java

📁 Use the links below to download a source distribution of Ant from one of our mirrors. It is good pra
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one or more *  contributor license agreements.  See the NOTICE file distributed with *  this work for additional information regarding copyright ownership. *  The ASF licenses this file to You under the Apache License, Version 2.0 *  (the "License"); you may not use this file except in compliance with *  the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, software *  distributed under the License is distributed on an "AS IS" BASIS, *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *  See the License for the specific language governing permissions and *  limitations under the License. * */package org.apache.tools.ant.taskdefs.optional.jsp;import java.io.File;/** * this class implements the name mangling rules of the jasper in tomcat4.1.x * which is likely to remain for some time * @see "org.apache.jasper.JspCompilationContext" */public class Jasper41Mangler implements JspMangler {    /**     * map from a jsp file to a java filename; does not do packages     *     * @param jspFile file     * @return java filename     */    public String mapJspToJavaName(File jspFile) {        String jspUri = jspFile.getAbsolutePath();        int start = jspUri.lastIndexOf(File.separatorChar) + 1;        int end = jspUri.length();        StringBuffer modifiedClassName;        modifiedClassName = new StringBuffer(jspUri.length() - start);        if (!Character.isJavaIdentifierStart(jspUri.charAt(start))            || jspUri.charAt(start) == '_') {            // If the first char is not a start of Java identifier or is _            // prepend a '_'.            modifiedClassName.append('_');        }        for (int i = start; i < end; i++) {            char ch = jspUri.charAt(i);            if (Character.isJavaIdentifierPart(ch)) {                modifiedClassName.append(ch);            } else if (ch == '.') {                modifiedClassName.append('_');            } else {                modifiedClassName.append(mangleChar(ch));            }        }        return modifiedClassName.toString();    }    /**     * Mangle the specified character to create a legal Java class name.     */    private static String mangleChar(char ch) {        // CheckStyle:MagicNumber OFF        String s = Integer.toHexString(ch);        int nzeros = 5 - s.length();        char[] result = new char[6];        result[0] = '_';        for (int i = 1; i <= nzeros; i++) {            result[i] = '0';        }        for (int i = nzeros + 1, j = 0; i < 6; i++, j++) {            result[i] = s.charAt(j);        }        return new String(result);        // CheckStyle:MagicNumber ON    }    /**     * taking in the substring representing the path relative to the source dir     * return a new string representing the destination path     * @param path not used.     * @return null as this is not implemented.     * @todo     */    public String mapPath(String path) {        return null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -