org.apache.jasper.compiler

## Class JspUtil

- java.lang.Object
- - org.apache.jasper.compiler.JspUtil

-     public class JspUtil
      extends Object

  This class has all the utility method(s). Ideally should move all the bean containers here.
  Author:
    Mandar Raje., Rajiv Mordani., Danno Ferrin, Pierre Delisle, Shawn Bayern, Mark Roth

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `JspUtil.ValidAttribute`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `CHUNKSIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JspUtil()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `booleanValue(String s)` Convert a String value to 'boolean'.
    `static void` | `checkAttributes(String typeOfTag, org.apache.jasper.compiler.Node n, JspUtil.ValidAttribute[] validAttributes, ErrorDispatcher err)` Checks if all mandatory attributes are present and if all attributes present have valid names.
    `static void` | `checkScope(String scope, org.apache.jasper.compiler.Node n, ErrorDispatcher err)` Checks to see if the given scope is valid.
    `static String` | `coerceToBoolean(String s, boolean isNamedAttribute)`
    `static String` | `coerceToByte(String s, boolean isNamedAttribute)`
    `static String` | `coerceToChar(String s, boolean isNamedAttribute)`
    `static String` | `coerceToCharacter(String s, boolean isNamedAttribute)`
    `static String` | `coerceToDouble(String s, boolean isNamedAttribute)`
    `static String` | `coerceToFloat(String s, boolean isNamedAttribute)`
    `static String` | `coerceToInt(String s, boolean isNamedAttribute)`
    `static String` | `coerceToInteger(String s, boolean isNamedAttribute)`
    `static String` | `coerceToLong(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveBoolean(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveByte(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveDouble(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveFloat(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveLong(String s, boolean isNamedAttribute)`
    `static String` | `coerceToPrimitiveShort(String s, boolean isNamedAttribute)`
    `static String` | `coerceToShort(String s, boolean isNamedAttribute)`
    `static String` | `escapeXml(String s)` Deprecated. This method will be removed in Tomcat 9
    `static String` | `getExprInXml(String expression)` Takes a potential expression and converts it into XML form.
    `static InputSource` | `getInputSource(String fname, Jar jar, JspCompilationContext ctxt)`
    `static InputStream` | `getInputStream(String fname, Jar jar, JspCompilationContext ctxt)`
    `static String` | `getTagHandlerClassName(String path, String urn, ErrorDispatcher err)` Gets the fully-qualified class name of the tag handler corresponding to the given tag file path.
    `static String` | `interpreterCall(boolean isTagFile, String expression, Class<?> expectedType, String fnmapvar)` Produces a String representing a call to the EL interpreter.
    `static boolean` | `isJavaKeyword(String key)` Test whether the argument is a Java keyword.
    `static String` | `makeJavaIdentifier(String identifier)` Converts the given identifier to a legal Java identifier
    `static String` | `makeJavaIdentifierForAttribute(String identifier)` Converts the given identifier to a legal Java identifier to be used for JSP Tag file attribute names.
    `static String` | `makeJavaPackage(String path)` Converts the given path to a Java package or fully-qualified class name
    `static String` | `mangleChar(char ch)` Mangle the specified character to create a legal Java class name.
    `static Class<?>` | `toClass(String type, ClassLoader loader)` Returns the `Class` object associated with the class or interface with the given string name.
    `static String` | `toJavaSourceType(String type)` Class.getName() return arrays in the form "[[[<et>", where et, the element type can be one of ZBCDFIJS or L<classname>;.
    `static String` | `toJavaSourceTypeFromTld(String type)` Handles taking input from TLDs 'java.lang.Object' -> 'java.lang.Object.class' 'int' -> 'int.class' 'void' -> 'Void.TYPE' 'int[]' -> 'int[].class'

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CHUNKSIZE

          public static final int CHUNKSIZE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JspUtil

          public JspUtil()

  - ### Method Detail

    - #### getExprInXml

          public static String getExprInXml(String expression)

      Takes a potential expression and converts it into XML form.
      Parameters:
        `expression` - The expression to convert
      Returns:
        XML view

    - #### checkScope

          public static void checkScope(String scope,
                        org.apache.jasper.compiler.Node n,
                        ErrorDispatcher err)
                                 throws JasperException

      Checks to see if the given scope is valid.
      Parameters:
        `scope` - The scope to be checked
        `n` - The Node containing the 'scope' attribute whose value is to be checked
        `err` - error dispatcher
      Throws:
        `JasperException` - if scope is not null and different from "page", "request", "session", and "application"

    - #### checkAttributes

          public static void checkAttributes(String typeOfTag,
                             org.apache.jasper.compiler.Node n,
                             JspUtil.ValidAttribute[] validAttributes,
                             ErrorDispatcher err)
                                      throws JasperException

      Checks if all mandatory attributes are present and if all attributes present have valid names. Checks attributes specified as XML-style attributes as well as attributes specified using the jsp:attribute standard action.
      Parameters:
        `typeOfTag` - The tag type
        `n` - The corresponding node
        `validAttributes` - The array with the valid attributes
        `err` - Dispatcher for errors
      Throws:
        `JasperException` - An error occurred

    - #### escapeXml

          @Deprecated
          public static String escapeXml(String s)

      Deprecated. This method will be removed in Tomcat 9
      Escape the 5 entities defined by XML.
      Parameters:
        `s` - String to escape
      Returns:
        XML escaped string

    - #### booleanValue

          public static boolean booleanValue(String s)

      Convert a String value to 'boolean'. Besides the standard conversions done by Boolean.parseBoolean(s), the value "yes" (ignore case) is also converted to 'true'. If 's' is null, then 'false' is returned.
      Parameters:
        `s` - the string to be converted
      Returns:
        the boolean value associated with the string s

    - #### toClass

          public static Class<?> toClass(String type,
                         ClassLoader loader)
                                  throws ClassNotFoundException

      Returns the `Class` object associated with the class or interface with the given string name.

      The `Class` object is determined by passing the given string name to the `Class.forName()` method, unless the given string name represents a primitive type, in which case it is converted to a `Class` object by appending ".class" to it (e.g., "int.class").

      Parameters:
        `type` - The class name, array or primitive type
        `loader` - The class loader
      Returns:
        the loaded class
      Throws:
        `ClassNotFoundException` - Loading class failed

    - #### interpreterCall

          public static String interpreterCall(boolean isTagFile,
                               String expression,
                               Class<?> expectedType,
                               String fnmapvar)

      Produces a String representing a call to the EL interpreter.
      Parameters:
        `isTagFile` - `true` if the file is a tag file rather than a JSP
        `expression` - a String containing zero or more "${}" expressions
        `expectedType` - the expected type of the interpreted result
        `fnmapvar` - Variable pointing to a function map.
      Returns:
        a String representing a call to the EL interpreter.

    - #### coerceToPrimitiveBoolean

          public static String coerceToPrimitiveBoolean(String s,
                                        boolean isNamedAttribute)

    - #### coerceToBoolean

          public static String coerceToBoolean(String s,
                               boolean isNamedAttribute)

    - #### coerceToPrimitiveByte

          public static String coerceToPrimitiveByte(String s,
                                     boolean isNamedAttribute)

    - #### coerceToByte

          public static String coerceToByte(String s,
                            boolean isNamedAttribute)

    - #### coerceToChar

          public static String coerceToChar(String s,
                            boolean isNamedAttribute)

    - #### coerceToCharacter

          public static String coerceToCharacter(String s,
                                 boolean isNamedAttribute)

    - #### coerceToPrimitiveDouble

          public static String coerceToPrimitiveDouble(String s,
                                       boolean isNamedAttribute)

    - #### coerceToDouble

          public static String coerceToDouble(String s,
                              boolean isNamedAttribute)

    - #### coerceToPrimitiveFloat

          public static String coerceToPrimitiveFloat(String s,
                                      boolean isNamedAttribute)

    - #### coerceToFloat

          public static String coerceToFloat(String s,
                             boolean isNamedAttribute)

    - #### coerceToInt

          public static String coerceToInt(String s,
                           boolean isNamedAttribute)

    - #### coerceToInteger

          public static String coerceToInteger(String s,
                               boolean isNamedAttribute)

    - #### coerceToPrimitiveShort

          public static String coerceToPrimitiveShort(String s,
                                      boolean isNamedAttribute)

    - #### coerceToShort

          public static String coerceToShort(String s,
                             boolean isNamedAttribute)

    - #### coerceToPrimitiveLong

          public static String coerceToPrimitiveLong(String s,
                                     boolean isNamedAttribute)

    - #### coerceToLong

          public static String coerceToLong(String s,
                            boolean isNamedAttribute)

    - #### getInputStream

          public static InputStream getInputStream(String fname,
                                   Jar jar,
                                   JspCompilationContext ctxt)
                                            throws IOException

      Throws:
        `IOException`

    - #### getInputSource

          public static InputSource getInputSource(String fname,
                                   Jar jar,
                                   JspCompilationContext ctxt)
                                            throws IOException

      Throws:
        `IOException`

    - #### getTagHandlerClassName

          public static String getTagHandlerClassName(String path,
                                      String urn,
                                      ErrorDispatcher err)
                                               throws JasperException

      Gets the fully-qualified class name of the tag handler corresponding to the given tag file path.
      Parameters:
        `path` - Tag file path
        `urn` - The tag identifier
        `err` - Error dispatcher
      Returns:
        Fully-qualified class name of the tag handler corresponding to the given tag file path
      Throws:
        `JasperException` - Failed to generate a class name for the tag

    - #### makeJavaPackage

          public static final String makeJavaPackage(String path)

      Converts the given path to a Java package or fully-qualified class name
      Parameters:
        `path` - Path to convert
      Returns:
        Java package corresponding to the given path

    - #### makeJavaIdentifier

          public static final String makeJavaIdentifier(String identifier)

      Converts the given identifier to a legal Java identifier
      Parameters:
        `identifier` - Identifier to convert
      Returns:
        Legal Java identifier corresponding to the given identifier

    - #### makeJavaIdentifierForAttribute

          public static final String makeJavaIdentifierForAttribute(String identifier)

      Converts the given identifier to a legal Java identifier to be used for JSP Tag file attribute names.
      Parameters:
        `identifier` - Identifier to convert
      Returns:
        Legal Java identifier corresponding to the given identifier

    - #### mangleChar

          public static final String mangleChar(char ch)

      Mangle the specified character to create a legal Java class name.
      Parameters:
        `ch` - The character
      Returns:
        the replacement character as a string

    - #### isJavaKeyword

          public static boolean isJavaKeyword(String key)

      Test whether the argument is a Java keyword.
      Parameters:
        `key` - The name
      Returns:
        `true` if the name is a java identifier

    - #### toJavaSourceTypeFromTld

          public static String toJavaSourceTypeFromTld(String type)

      Handles taking input from TLDs 'java.lang.Object' -> 'java.lang.Object.class' 'int' -> 'int.class' 'void' -> 'Void.TYPE' 'int[]' -> 'int[].class'
      Parameters:
        `type` - The type from the TLD
      Returns:
        the Java type

    - #### toJavaSourceType

          public static String toJavaSourceType(String type)

      Class.getName() return arrays in the form "[[[<et>", where et, the element type can be one of ZBCDFIJS or L<classname>;. It is converted into forms that can be understood by javac.
      Parameters:
        `type` - the type to convert
      Returns:
        the equivalent type in Java sources

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.