## org.apache.jasper.compiler
Class JspUtil

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

public class JspUtil
extends java.lang.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
`static class` `JspUtil.ValidAttribute`

Field Summary
`static int` `CHUNKSIZE`

Constructor Summary
`JspUtil()`

Method Summary
`static boolean` `booleanValue(java.lang.String s)` Convert a String value to 'boolean'.
`static void` `checkAttributes(java.lang.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(java.lang.String scope, org.apache.jasper.compiler.Node n, ErrorDispatcher err)` Checks to see if the given scope is valid.
`static java.lang.String` `coerceToBoolean(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToByte(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToChar(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToCharacter(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToDouble(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToFloat(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToInt(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToInteger(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToLong(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveBoolean(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveByte(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveDouble(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveFloat(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveLong(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToPrimitiveShort(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `coerceToShort(java.lang.String s, boolean isNamedAttribute)`
`static java.lang.String` `escapeQueryString(java.lang.String unescString)`
`static char[]` `escapeQuotes(char[] chars)`
`static java.lang.String` `escapeXml(java.lang.String s)` Escape the 5 entities defined by XML.
`static java.lang.String` `getCanonicalName(java.lang.Class c)` Compute the canonical name from a Class instance.
`static java.lang.String` `getExpr(java.lang.String expression, boolean isXml)`
`static java.lang.String` `getExprInXml(java.lang.String expression)` Takes a potential expression and converts it into XML form
`static java.io.InputStream` `getInputStream(java.lang.String fname, java.util.jar.JarFile jarFile, JspCompilationContext ctxt, ErrorDispatcher err)`
`static java.lang.String` `getTagHandlerClassName(java.lang.String path, ErrorDispatcher err)` Gets the fully-qualified class name of the tag handler corresponding to the given tag file path.
`static java.lang.String` `interpreterCall(boolean isTagFile, java.lang.String expression, java.lang.Class expectedType, java.lang.String fnmapvar, boolean XmlEscape)` Produces a String representing a call to the EL interpreter.
`static boolean` `isExpression(java.lang.String token, boolean isXml)` Checks if the token is a runtime expression.
`static boolean` `isJavaKeyword(java.lang.String key)` Test whether the argument is a Java keyword
`static java.lang.String` `makeJavaIdentifier(java.lang.String identifier)` Converts the given identifier to a legal Java identifier
`static java.lang.String` `makeJavaPackage(java.lang.String path)` Converts the given path to a Java package or fully-qualified class name
`static java.lang.String` `makeXmlJavaIdentifier(java.lang.String name)` Converts the given Xml name to a legal Java identifier.
`static java.lang.String` `mangleChar(char ch)` Mangle the specified character to create a legal Java class name.
`static java.lang.String` `nextTemporaryVariableName()` Generates a new temporary variable name.
`static char[]` `removeQuotes(char[] chars)`
`static java.lang.String` `replace(java.lang.String name, char replace, java.lang.String with)` Replaces any occurrences of the character `replace` with the string `with`.
`static void` `resetTemporaryVariableName()` Resets the temporary variable name.
`static java.lang.Class` `toClass(java.lang.String type, java.lang.ClassLoader loader)` Returns the `Class` object associated with the class or interface with the given string name.
`static java.lang.String` `toJavaSourceType(java.lang.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.
`static void` `validateExpressions(org.apache.jasper.compiler.Mark where, java.lang.String expressions, java.lang.Class expectedType, javax.servlet.jsp.el.FunctionMapper functionMapper, ErrorDispatcher err)` Validates the syntax of all ${} expressions within the given string.

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

### removeQuotes

    public static char[] removeQuotes(char[] chars)

### escapeQuotes

    public static char[] escapeQuotes(char[] chars)

### isExpression

    public static boolean isExpression(java.lang.String token,
                                       boolean isXml)

  Checks if the token is a runtime expression. In standard JSP syntax, a runtime expression starts with '<%' and ends with '%>'. When the JSP document is in XML syntax, a runtime expression starts with '%=' and ends with '%'.

  Parameters:
    `token` - The token to be checked return whether the token is a runtime expression or not.

### getExpr

    public static java.lang.String getExpr(java.lang.String expression,
                                           boolean isXml)

  Returns:
    the "expression" part of a runtime expression, taking the delimiters out.

### getExprInXml

    public static java.lang.String getExprInXml(java.lang.String expression)

  Takes a potential expression and converts it into XML form

### checkScope

    public static void checkScope(java.lang.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(java.lang.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.

  Throws:
    `JasperException`

### escapeQueryString

    public static java.lang.String escapeQueryString(java.lang.String unescString)

### escapeXml

    public static java.lang.String escapeXml(java.lang.String s)

  Escape the 5 entities defined by XML.

### replace

    public static java.lang.String replace(java.lang.String name,
                                           char replace,
                                           java.lang.String with)

  Replaces any occurrences of the character `replace` with the string `with`.

### booleanValue

    public static boolean booleanValue(java.lang.String s)

  Convert a String value to 'boolean'. Besides the standard conversions done by Boolean.valueOf(s).booleanValue(), 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 java.lang.Class toClass(java.lang.String type,
                                          java.lang.ClassLoader loader)
                                   throws java.lang.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").

  Throws:
    `java.lang.ClassNotFoundException`

### interpreterCall

    public static java.lang.String interpreterCall(boolean isTagFile,
                                                   java.lang.String expression,
                                                   java.lang.Class expectedType,
                                                   java.lang.String fnmapvar,
                                                   boolean XmlEscape)

  Produces a String representing a call to the EL interpreter.

  Parameters:
    `expression` - a String containing zero or more "${}" expressions
    `expectedType` - the expected type of the interpreted result
    `fnmapvar` - Variable pointing to a function map.
    `XmlEscape` - True if the result should do XML escaping
  Returns:
    a String representing a call to the EL interpreter.

### validateExpressions

    public static void validateExpressions(org.apache.jasper.compiler.Mark where,
                                           java.lang.String expressions,
                                           java.lang.Class expectedType,
                                           javax.servlet.jsp.el.FunctionMapper functionMapper,
                                           ErrorDispatcher err)
                                    throws JasperException

  Validates the syntax of all ${} expressions within the given string.

  Parameters:
    `where` - the approximate location of the expressions in the JSP page
    `expressions` - a string containing zero or more "${}" expressions
    `err` - an error dispatcher to use
  Throws:
    `JasperException`

### resetTemporaryVariableName

    public static void resetTemporaryVariableName()

  Resets the temporary variable name. (not thread-safe)

### nextTemporaryVariableName

    public static java.lang.String nextTemporaryVariableName()

  Generates a new temporary variable name. (not thread-safe)

### coerceToPrimitiveBoolean

    public static java.lang.String coerceToPrimitiveBoolean(java.lang.String s,
                                                            boolean isNamedAttribute)

### coerceToBoolean

    public static java.lang.String coerceToBoolean(java.lang.String s,
                                                   boolean isNamedAttribute)

### coerceToPrimitiveByte

    public static java.lang.String coerceToPrimitiveByte(java.lang.String s,
                                                         boolean isNamedAttribute)

### coerceToByte

    public static java.lang.String coerceToByte(java.lang.String s,
                                                boolean isNamedAttribute)

### coerceToChar

    public static java.lang.String coerceToChar(java.lang.String s,
                                                boolean isNamedAttribute)

### coerceToCharacter

    public static java.lang.String coerceToCharacter(java.lang.String s,
                                                     boolean isNamedAttribute)

### coerceToPrimitiveDouble

    public static java.lang.String coerceToPrimitiveDouble(java.lang.String s,
                                                           boolean isNamedAttribute)

### coerceToDouble

    public static java.lang.String coerceToDouble(java.lang.String s,
                                                  boolean isNamedAttribute)

### coerceToPrimitiveFloat

    public static java.lang.String coerceToPrimitiveFloat(java.lang.String s,
                                                          boolean isNamedAttribute)

### coerceToFloat

    public static java.lang.String coerceToFloat(java.lang.String s,
                                                 boolean isNamedAttribute)

### coerceToInt

    public static java.lang.String coerceToInt(java.lang.String s,
                                               boolean isNamedAttribute)

### coerceToInteger

    public static java.lang.String coerceToInteger(java.lang.String s,
                                                   boolean isNamedAttribute)

### coerceToPrimitiveShort

    public static java.lang.String coerceToPrimitiveShort(java.lang.String s,
                                                          boolean isNamedAttribute)

### coerceToShort

    public static java.lang.String coerceToShort(java.lang.String s,
                                                 boolean isNamedAttribute)

### coerceToPrimitiveLong

    public static java.lang.String coerceToPrimitiveLong(java.lang.String s,
                                                         boolean isNamedAttribute)

### coerceToLong

    public static java.lang.String coerceToLong(java.lang.String s,
                                                boolean isNamedAttribute)

### getInputStream

    public static java.io.InputStream getInputStream(java.lang.String fname,
                                                     java.util.jar.JarFile jarFile,
                                                     JspCompilationContext ctxt,
                                                     ErrorDispatcher err)
                                              throws JasperException,
                                                     java.io.IOException

  Throws:
    `JasperException`
    `java.io.IOException`

### getTagHandlerClassName

    public static java.lang.String getTagHandlerClassName(java.lang.String path,
                                                          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
    `err` - Error dispatcher
  Returns:
    Fully-qualified class name of the tag handler corresponding to the given tag file path
  Throws:
    `JasperException`

### makeJavaPackage

    public static final java.lang.String makeJavaPackage(java.lang.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 java.lang.String makeJavaIdentifier(java.lang.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

### mangleChar

    public static final java.lang.String mangleChar(char ch)

  Mangle the specified character to create a legal Java class name.

### isJavaKeyword

    public static boolean isJavaKeyword(java.lang.String key)

  Test whether the argument is a Java keyword

### makeXmlJavaIdentifier

    public static final java.lang.String makeXmlJavaIdentifier(java.lang.String name)

  Converts the given Xml name to a legal Java identifier. This is slightly more efficient than makeJavaIdentifier in that we only need to worry about '.', '-', and ':' in the string. We also assume that the resultant string is further concatenated with some prefix string so that we don't have to worry about it being a Java key word.

  Parameters:
    `name` - Identifier to convert
  Returns:
    Legal Java identifier corresponding to the given identifier

### toJavaSourceType

    public static java.lang.String toJavaSourceType(java.lang.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.

### getCanonicalName

    public static java.lang.String getCanonicalName(java.lang.Class c)

  Compute the canonical name from a Class instance. Note that a simple replacment of '$' with '.' of a binary name would not work, as '$' is a legal Java Identifier character.

  Parameters:
    `c` - A instance of java.lang.Class
  Returns:
    The canonical name of c.

Copyright © 2000 Apache Software Foundation. All Rights Reserved.