ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/el/util/Validation.java

Path
ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/el/util/Validation.java
Status
scanned
Type
file
Name
Validation.java
Extension
.java
Programming language
Java
Mime type
text/plain
File type
ASCII text, with CRLF line terminators
Tag

      
    
Rootfs path

      
    
Size
3371 (3.3 KB)
MD5
c5dbf045e0faa8c7a781beec269d8d32
SHA1
ac89392c0808cdb142b87e10c8aa1d87dbcc9b11
SHA256
12b7770a0fda8ffc259288b979a8487f6a201a3e593126dd89e686a60d32ff0f
SHA512

      
    
SHA1_git
df011561d8fda71f5fb901a342db9e6c8d487950
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
Validation.java | 3.3 KB |

/* * 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.el.util; public class Validation { /* * Java keywords, boolean literals & the null literal in alphabetical order. As per the Java Language Specification, * none of these are permitted to be used as an identifier. */ private static final String[] invalidIdentifiers = { "_", "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "false", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while" }; private static final boolean SKIP_IDENTIFIER_CHECK = Boolean.getBoolean("org.apache.el.parser.SKIP_IDENTIFIER_CHECK"); private Validation() { // Utility class. Hide default constructor } /** * Test whether a string is a Java identifier. Note that the behaviour of this method depend on the system property * {@code org.apache.el.parser.SKIP_IDENTIFIER_CHECK} * * @param key The string to test * * @return {@code true} if the provided String should be treated as a Java identifier, otherwise false */ public static boolean isIdentifier(String key) { if (SKIP_IDENTIFIER_CHECK) { return true; } // Should not be the case but check to be sure if (key == null || key.isEmpty()) { return false; } // Check the list of known invalid values int i = 0; int j = invalidIdentifiers.length; while (i < j) { int k = (i + j) >>> 1; // Avoid overflow int result = invalidIdentifiers[k].compareTo(key); if (result == 0) { return false; } if (result < 0) { i = k + 1; } else { j = k; } } /* * The parser checks Character.isJavaIdentifierStart() and Character.isJavaIdentifierPart() so no need to check * them again here. However, we do need to check that '#' hasn't been used at the start of the identifier. */ return key.charAt(0) != '#'; } }
Detected license expression
apache-2.0
Detected license expression (SPDX)
Apache-2.0
Percentage of license text
30.59
Copyrights

      
    
Holders

      
    
Authors

      
    
License detections License expression License expression SPDX
apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de apache-2.0 Apache-2.0
URL Start line End line
http://www.apache.org/licenses/LICENSE-2.0 9 9