Class 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
    • 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
      • 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)
      • getTagHandlerClassName

        public static String getTagHandlerClassName​(String path,
                                                    String packageName,
                                                    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
        packageName - The package name
        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