Package org.apache.jasper.runtime

## Class JspRuntimeLibrary

- java.lang.Object
- - org.apache.jasper.runtime.JspRuntimeLibrary

-     public class JspRuntimeLibrary
      extends java.lang.Object

  Bunch of util methods that are used by code generated for useBean, getProperty and setProperty. The __begin, __end stuff is there so that the JSP engine can actually parse this file and inline them if people don't want runtime dependencies on this class. However, I'm not sure if that works so well right now. It got forgotten at some point. -akv
  Author:
    Mandar Raje, Shawn Bayern

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `GRAAL` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JspRuntimeLibrary()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.String` | `capitalize​(java.lang.String name)` | Reverse of Introspector.decapitalize.
    `static java.lang.Object` | `coerce​(java.lang.String s, java.lang.Class<?> target)` |
    `static boolean` | `coerceToBoolean​(java.lang.String s)` |
    `static byte` | `coerceToByte​(java.lang.String s)` |
    `static char` | `coerceToChar​(java.lang.String s)` |
    `static double` | `coerceToDouble​(java.lang.String s)` |
    `static float` | `coerceToFloat​(java.lang.String s)` |
    `static int` | `coerceToInt​(java.lang.String s)` |
    `static long` | `coerceToLong​(java.lang.String s)` |
    `static short` | `coerceToShort​(java.lang.String s)` |
    `static java.lang.Object` | `convert​(java.lang.String propertyName, java.lang.String s, java.lang.Class<?> t, java.lang.Class<?> propertyEditorClass)` |
    `static void` | `createTypedArray​(java.lang.String propertyName, java.lang.Object bean, java.lang.reflect.Method method, java.lang.String[] values, java.lang.Class<?> t, java.lang.Class<?> propertyEditorClass)` | Create a typed array.
    `static java.lang.String` | `escapeQueryString​(java.lang.String unescString)` | Escape special shell characters.
    `static java.lang.String` | `getContextRelativePath​(ServletRequest request, java.lang.String relativePath)` | Convert a possibly relative resource path into a context-relative resource path that starts with a '/'.
    `static java.lang.reflect.Method` | `getReadMethod​(java.lang.Class<?> beanClass, java.lang.String prop)` |
    `static java.lang.Throwable` | `getThrowable​(ServletRequest request)` | Returns the value of the jakarta.servlet.error.exception request attribute value, if present, otherwise the value of the jakarta.servlet.jsp.jspException request attribute value.
    `static java.lang.Object` | `getValueFromBeanInfoPropertyEditor​(java.lang.Class<?> attrClass, java.lang.String attrName, java.lang.String attrValue, java.lang.Class<?> propertyEditorClass)` |
    `static java.lang.Object` | `getValueFromPropertyEditorManager​(java.lang.Class<?> attrClass, java.lang.String attrName, java.lang.String attrValue)` |
    `static java.lang.reflect.Method` | `getWriteMethod​(java.lang.Class<?> beanClass, java.lang.String prop)` |
    `static java.lang.Object` | `handleGetProperty​(java.lang.Object o, java.lang.String prop)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, boolean value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, byte value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, char value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, double value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, float value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, int value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, long value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, short value)` |
    `static void` | `handleSetProperty​(java.lang.Object bean, java.lang.String prop, java.lang.Object value)` |
    `static void` | `handleSetPropertyExpression​(java.lang.Object bean, java.lang.String prop, java.lang.String expression, PageContext pageContext, ProtectedFunctionMapper functionMapper)` |
    `static void` | `include​(ServletRequest request, ServletResponse response, java.lang.String relativePath, JspWriter out, boolean flush)` | Perform a RequestDispatcher.include() operation, with optional flushing of the response beforehand.
    `static void` | `introspect​(java.lang.Object bean, ServletRequest request)` |
    `static void` | `introspecthelper​(java.lang.Object bean, java.lang.String prop, java.lang.String value, ServletRequest request, java.lang.String param, boolean ignoreMethodNF)` |
    `protected static void` | `releaseTag​(Tag tag, InstanceManager instanceManager)` |
    `static void` | `releaseTag​(Tag tag, InstanceManager instanceManager, boolean reused)` |
    `static JspWriter` | `startBufferedBody​(PageContext pageContext, BodyTag tag)` |
    `static java.lang.String` | `toString​(boolean b)` |
    `static java.lang.String` | `toString​(byte b)` |
    `static java.lang.String` | `toString​(char c)` |
    `static java.lang.String` | `toString​(double d)` |
    `static java.lang.String` | `toString​(float f)` |
    `static java.lang.String` | `toString​(int i)` |
    `static java.lang.String` | `toString​(long l)` |
    `static java.lang.String` | `toString​(short s)` |
    `static java.lang.String` | `toString​(java.lang.Object o)` |
    `static java.lang.String` | `URLEncode​(java.lang.String s, java.lang.String enc)` | URL encodes a string, based on the supplied character encoding.

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

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

- - ### Field Detail

    - #### GRAAL

          public static final boolean GRAAL

  - ### Constructor Detail

    - #### JspRuntimeLibrary

          public JspRuntimeLibrary()

  - ### Method Detail

    - #### getThrowable

          public static java.lang.Throwable getThrowable​(ServletRequest request)

      Returns the value of the jakarta.servlet.error.exception request attribute value, if present, otherwise the value of the jakarta.servlet.jsp.jspException request attribute value. This method is called at the beginning of the generated servlet code for a JSP error page, when the "exception" implicit scripting language variable is initialized.
      Parameters:
        `request` - The Servlet request
      Returns:
        the throwable in the error attribute if any

    - #### coerceToBoolean

          public static boolean coerceToBoolean​(java.lang.String s)

    - #### coerceToByte

          public static byte coerceToByte​(java.lang.String s)

    - #### coerceToChar

          public static char coerceToChar​(java.lang.String s)

    - #### coerceToDouble

          public static double coerceToDouble​(java.lang.String s)

    - #### coerceToFloat

          public static float coerceToFloat​(java.lang.String s)

    - #### coerceToInt

          public static int coerceToInt​(java.lang.String s)

    - #### coerceToShort

          public static short coerceToShort​(java.lang.String s)

    - #### coerceToLong

          public static long coerceToLong​(java.lang.String s)

    - #### coerce

          public static java.lang.Object coerce​(java.lang.String s,
                                                java.lang.Class<?> target)

    - #### convert

          public static java.lang.Object convert​(java.lang.String propertyName,
                                                 java.lang.String s,
                                                 java.lang.Class<?> t,
                                                 java.lang.Class<?> propertyEditorClass)
                                          throws JasperException

      Throws:
        `JasperException`

    - #### introspect

          public static void introspect​(java.lang.Object bean,
                                        ServletRequest request)
                                 throws JasperException

      Throws:
        `JasperException`

    - #### introspecthelper

          public static void introspecthelper​(java.lang.Object bean,
                                              java.lang.String prop,
                                              java.lang.String value,
                                              ServletRequest request,
                                              java.lang.String param,
                                              boolean ignoreMethodNF)
                                       throws JasperException

      Throws:
        `JasperException`

    - #### toString

          public static java.lang.String toString​(java.lang.Object o)

    - #### toString

          public static java.lang.String toString​(byte b)

    - #### toString

          public static java.lang.String toString​(boolean b)

    - #### toString

          public static java.lang.String toString​(short s)

    - #### toString

          public static java.lang.String toString​(int i)

    - #### toString

          public static java.lang.String toString​(float f)

    - #### toString

          public static java.lang.String toString​(long l)

    - #### toString

          public static java.lang.String toString​(double d)

    - #### toString

          public static java.lang.String toString​(char c)

    - #### createTypedArray

          public static void createTypedArray​(java.lang.String propertyName,
                                              java.lang.Object bean,
                                              java.lang.reflect.Method method,
                                              java.lang.String[] values,
                                              java.lang.Class<?> t,
                                              java.lang.Class<?> propertyEditorClass)
                                       throws JasperException

      Create a typed array. This is a special case where params are passed through the request and the property is indexed.
      Parameters:
        `propertyName` - The property name
        `bean` - The bean
        `method` - The method
        `values` - Array values
        `t` - The class
        `propertyEditorClass` - The editor for the property
      Throws:
        `JasperException` - An error occurred

    - #### escapeQueryString

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

      Escape special shell characters.
      Parameters:
        `unescString` - The string to shell-escape
      Returns:
        The escaped shell string.

    - #### handleGetProperty

          public static java.lang.Object handleGetProperty​(java.lang.Object o,
                                                           java.lang.String prop)
                                                    throws JasperException

      Throws:
        `JasperException`

    - #### handleSetPropertyExpression

          public static void handleSetPropertyExpression​(java.lang.Object bean,
                                                         java.lang.String prop,
                                                         java.lang.String expression,
                                                         PageContext pageContext,
                                                         ProtectedFunctionMapper functionMapper)
                                                  throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               java.lang.Object value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               int value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               short value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               long value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               double value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               float value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               char value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               byte value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### handleSetProperty

          public static void handleSetProperty​(java.lang.Object bean,
                                               java.lang.String prop,
                                               boolean value)
                                        throws JasperException

      Throws:
        `JasperException`

    - #### capitalize

          public static java.lang.String capitalize​(java.lang.String name)

      Reverse of Introspector.decapitalize.
      Parameters:
        `name` - The name
      Returns:
        the capitalized string

    - #### getWriteMethod

          public static java.lang.reflect.Method getWriteMethod​(java.lang.Class<?> beanClass,
                                                                java.lang.String prop)
                                                         throws JasperException

      Throws:
        `JasperException`

    - #### getReadMethod

          public static java.lang.reflect.Method getReadMethod​(java.lang.Class<?> beanClass,
                                                               java.lang.String prop)
                                                        throws JasperException

      Throws:
        `JasperException`

    - #### getValueFromBeanInfoPropertyEditor

          public static java.lang.Object getValueFromBeanInfoPropertyEditor​(java.lang.Class<?> attrClass,
                                                                            java.lang.String attrName,
                                                                            java.lang.String attrValue,
                                                                            java.lang.Class<?> propertyEditorClass)
                                                                     throws JasperException

      Throws:
        `JasperException`

    - #### getValueFromPropertyEditorManager

          public static java.lang.Object getValueFromPropertyEditorManager​(java.lang.Class<?> attrClass,
                                                                           java.lang.String attrName,
                                                                           java.lang.String attrValue)
                                                                    throws JasperException

      Throws:
        `JasperException`

    - #### getContextRelativePath

          public static java.lang.String getContextRelativePath​(ServletRequest request,
                                                                java.lang.String relativePath)

      Convert a possibly relative resource path into a context-relative resource path that starts with a '/'.
      Parameters:
        `request` - The servlet request we are processing
        `relativePath` - The possibly relative resource path
      Returns:
        an absolute path

    - #### include

          public static void include​(ServletRequest request,
                                     ServletResponse response,
                                     java.lang.String relativePath,
                                     JspWriter out,
                                     boolean flush)
                              throws java.io.IOException,
                                     ServletException

      Perform a RequestDispatcher.include() operation, with optional flushing of the response beforehand.
      Parameters:
        `request` - The servlet request we are processing
        `response` - The servlet response we are processing
        `relativePath` - The relative path of the resource to be included
        `out` - The Writer to whom we are currently writing
        `flush` - Should we flush before the include is processed?
      Throws:
        `java.io.IOException` - if thrown by the included servlet
        `ServletException` - if thrown by the included servlet

    - #### URLEncode

          public static java.lang.String URLEncode​(java.lang.String s,
                                                   java.lang.String enc)

      URL encodes a string, based on the supplied character encoding. This performs the same function as java.next.URLEncode.encode in J2SDK1.4, and should be removed if the only platform supported is 1.4 or higher.
      Parameters:
        `s` - The String to be URL encoded.
        `enc` - The character encoding
      Returns:
        The URL encoded String

    - #### startBufferedBody

          public static JspWriter startBufferedBody​(PageContext pageContext,
                                                    BodyTag tag)
                                             throws JspException

      Throws:
        `JspException`

    - #### releaseTag

          public static void releaseTag​(Tag tag,
                                        InstanceManager instanceManager,
                                        boolean reused)

    - #### releaseTag

          protected static void releaseTag​(Tag tag,
                                           InstanceManager instanceManager)