<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JspUtil</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="JspUtil";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jasper/compiler/JspRuntimeContext.html" title="class in org.apache.jasper.compiler"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jasper/compiler/JspUtil.ValidAttribute.html" title="class in org.apache.jasper.compiler"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jasper/compiler/JspUtil.html" target="_top">Frames</a></li>
<li><a href="JspUtil.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.jasper.compiler</div>
<h2 title="Class JspUtil" class="title">Class JspUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.jasper.compiler.JspUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">JspUtil</span>
extends java.lang.Object</pre>
<div class="block">This class has all the utility method(s).
 Ideally should move all the bean containers here.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.ValidAttribute.html" title="class in org.apache.jasper.compiler">JspUtil.ValidAttribute</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#CHUNKSIZE">CHUNKSIZE</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#JspUtil--">JspUtil</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#booleanValue-java.lang.String-">booleanValue</a></span>(java.lang.String&nbsp;s)</code>
<div class="block">Convert a String value to 'boolean'.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#checkAttributes-java.lang.String-org.apache.jasper.compiler.Node-org.apache.jasper.compiler.JspUtil.ValidAttribute:A-org.apache.jasper.compiler.ErrorDispatcher-">checkAttributes</a></span>(java.lang.String&nbsp;typeOfTag,
               org.apache.jasper.compiler.Node&nbsp;n,
               <a href="../../../../org/apache/jasper/compiler/JspUtil.ValidAttribute.html" title="class in org.apache.jasper.compiler">JspUtil.ValidAttribute</a>[]&nbsp;validAttributes,
               <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)</code>
<div class="block">Checks if all mandatory attributes are present and if all attributes
 present have valid names.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#checkScope-java.lang.String-org.apache.jasper.compiler.Node-org.apache.jasper.compiler.ErrorDispatcher-">checkScope</a></span>(java.lang.String&nbsp;scope,
          org.apache.jasper.compiler.Node&nbsp;n,
          <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)</code>
<div class="block">Checks to see if the given scope is valid.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerce-java.lang.Class-java.lang.String-">coerce</a></span>(java.lang.Class&nbsp;targetType,
      java.lang.String&nbsp;value)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToBoolean-java.lang.String-boolean-">coerceToBoolean</a></span>(java.lang.String&nbsp;s,
               boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToByte-java.lang.String-boolean-">coerceToByte</a></span>(java.lang.String&nbsp;s,
            boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToChar-java.lang.String-boolean-">coerceToChar</a></span>(java.lang.String&nbsp;s,
            boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToCharacter-java.lang.String-boolean-">coerceToCharacter</a></span>(java.lang.String&nbsp;s,
                 boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToDouble-java.lang.String-boolean-">coerceToDouble</a></span>(java.lang.String&nbsp;s,
              boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToEnum-java.lang.String-java.lang.String-boolean-">coerceToEnum</a></span>(java.lang.String&nbsp;s,
            java.lang.String&nbsp;enumClass,
            boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToFloat-java.lang.String-boolean-">coerceToFloat</a></span>(java.lang.String&nbsp;s,
             boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToInt-java.lang.String-boolean-">coerceToInt</a></span>(java.lang.String&nbsp;s,
           boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToInteger-java.lang.String-boolean-">coerceToInteger</a></span>(java.lang.String&nbsp;s,
               boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToLong-java.lang.String-boolean-">coerceToLong</a></span>(java.lang.String&nbsp;s,
            boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveBoolean-java.lang.String-boolean-">coerceToPrimitiveBoolean</a></span>(java.lang.String&nbsp;s,
                        boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveByte-java.lang.String-boolean-">coerceToPrimitiveByte</a></span>(java.lang.String&nbsp;s,
                     boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveDouble-java.lang.String-boolean-">coerceToPrimitiveDouble</a></span>(java.lang.String&nbsp;s,
                       boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveFloat-java.lang.String-boolean-">coerceToPrimitiveFloat</a></span>(java.lang.String&nbsp;s,
                      boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveLong-java.lang.String-boolean-">coerceToPrimitiveLong</a></span>(java.lang.String&nbsp;s,
                     boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToPrimitiveShort-java.lang.String-boolean-">coerceToPrimitiveShort</a></span>(java.lang.String&nbsp;s,
                      boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#coerceToShort-java.lang.String-boolean-">coerceToShort</a></span>(java.lang.String&nbsp;s,
             boolean&nbsp;isNamedAttribute)</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#escapeQueryString-java.lang.String-">escapeQueryString</a></span>(java.lang.String&nbsp;unescString)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#escapeQuotes-char:A-">escapeQuotes</a></span>(char[]&nbsp;chars)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#escapeXml-java.lang.String-">escapeXml</a></span>(java.lang.String&nbsp;s)</code>
<div class="block">Escape the 5 entities defined by XML.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#expandClassPath-java.util.List-">expandClassPath</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;files)</code>
<div class="block">Given a list of jar files, their manifest attribute Class-path are
 scanned, and jars specified there are added to the list.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#getCanonicalName-java.lang.Class-">getCanonicalName</a></span>(java.lang.Class&nbsp;c)</code>
<div class="block">Compute the canonical name from a Class instance.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#getExpr-java.lang.String-boolean-">getExpr</a></span>(java.lang.String&nbsp;expression,
       boolean&nbsp;isXml)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#getExprInXml-java.lang.String-">getExprInXml</a></span>(java.lang.String&nbsp;expression)</code>
<div class="block">Takes a potential expression and converts it into XML form</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#getInputStream-java.lang.String-java.util.jar.JarFile-org.apache.jasper.JspCompilationContext-org.apache.jasper.compiler.ErrorDispatcher-">getInputStream</a></span>(java.lang.String&nbsp;fname,
              java.util.jar.JarFile&nbsp;jarFile,
              <a href="../../../../org/apache/jasper/JspCompilationContext.html" title="class in org.apache.jasper">JspCompilationContext</a>&nbsp;ctxt,
              <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#getTagHandlerClassName-java.lang.String-org.apache.jasper.compiler.ErrorDispatcher-">getTagHandlerClassName</a></span>(java.lang.String&nbsp;path,
                      <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)</code>
<div class="block">Gets the fully-qualified class name of the tag handler corresponding to
 the given tag file path.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#interpreterCall-boolean-java.lang.String-java.lang.Class-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-">interpreterCall</a></span>(boolean&nbsp;isTagFile,
               java.lang.String&nbsp;expression,
               java.lang.Class&nbsp;expectedType,
               java.lang.String&nbsp;fnmapvar,
               java.lang.String&nbsp;expectedDeferredType,
               java.lang.String&nbsp;expectedReturnType,
               java.lang.String[]&nbsp;expectedParamTypes)</code>
<div class="block">Produces a String representing a call to the EL interpreter.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#isExpression-java.lang.String-boolean-">isExpression</a></span>(java.lang.String&nbsp;token,
            boolean&nbsp;isXml)</code>
<div class="block">Checks if the token is a runtime expression.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#isJavaKeyword-java.lang.String-">isJavaKeyword</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Test whether the argument is a Java keyword</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#makeJavaIdentifier-java.lang.String-">makeJavaIdentifier</a></span>(java.lang.String&nbsp;identifier)</code>
<div class="block">Converts the given identifier to a legal Java identifier</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#makeJavaPackage-java.lang.String-">makeJavaPackage</a></span>(java.lang.String&nbsp;path)</code>
<div class="block">Converts the given path to a Java package or fully-qualified class name</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#makeXmlJavaIdentifier-java.lang.String-">makeXmlJavaIdentifier</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Converts the given Xml name to a legal Java identifier.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#mangleChar-char-">mangleChar</a></span>(char&nbsp;ch)</code>
<div class="block">Mangle the specified character to create a legal Java class name.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#nextTemporaryVariableName--">nextTemporaryVariableName</a></span>()</code>
<div class="block">Generates a new temporary variable name.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>static char[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#removeQuotes-char:A-">removeQuotes</a></span>(char[]&nbsp;chars)</code>&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#replace-java.lang.String-char-java.lang.String-">replace</a></span>(java.lang.String&nbsp;name,
       char&nbsp;replace,
       java.lang.String&nbsp;with)</code>
<div class="block">Replaces any occurrences of the character <tt>replace</tt> with the
 string <tt>with</tt>.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#resetTemporaryVariableName--">resetTemporaryVariableName</a></span>()</code>
<div class="block">Resets the temporary variable name.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>static java.lang.Class&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#toClass-java.lang.String-java.lang.ClassLoader-">toClass</a></span>(java.lang.String&nbsp;type,
       java.lang.ClassLoader&nbsp;loader)</code>
<div class="block">Returns the <tt>Class</tt> object associated with the class or
 interface with the given string name.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#toJavaSourceType-java.lang.String-">toJavaSourceType</a></span>(java.lang.String&nbsp;type)</code>
<div class="block">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.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/jasper/compiler/JspUtil.html#validateExpressions-org.apache.jasper.compiler.Mark-java.lang.String-FunctionMapper-org.apache.jasper.compiler.ErrorDispatcher-">validateExpressions</a></span>(org.apache.jasper.compiler.Mark&nbsp;where,
                   java.lang.String&nbsp;expressions,
                   FunctionMapper&nbsp;functionMapper,
                   <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)</code>
<div class="block">Validates the syntax of all EL expressions within the given string.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="CHUNKSIZE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CHUNKSIZE</h4>
<pre>public static final&nbsp;int CHUNKSIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.jasper.compiler.JspUtil.CHUNKSIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="JspUtil--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JspUtil</h4>
<pre>public&nbsp;JspUtil()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="removeQuotes-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeQuotes</h4>
<pre>public static&nbsp;char[]&nbsp;removeQuotes(char[]&nbsp;chars)</pre>
</li>
</ul>
<a name="escapeQuotes-char:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeQuotes</h4>
<pre>public static&nbsp;char[]&nbsp;escapeQuotes(char[]&nbsp;chars)</pre>
</li>
</ul>
<a name="isExpression-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpression</h4>
<pre>public static&nbsp;boolean&nbsp;isExpression(java.lang.String&nbsp;token,
                                   boolean&nbsp;isXml)</pre>
<div class="block">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 '%'.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>token</code> - The token to be checked
 return whether the token is a runtime expression or not.</dd>
</dl>
</li>
</ul>
<a name="getExpr-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpr</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getExpr(java.lang.String&nbsp;expression,
                                       boolean&nbsp;isXml)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the "expression" part of a runtime expression, 
 taking the delimiters out.</dd>
</dl>
</li>
</ul>
<a name="getExprInXml-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExprInXml</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getExprInXml(java.lang.String&nbsp;expression)</pre>
<div class="block">Takes a potential expression and converts it into XML form</div>
</li>
</ul>
<a name="checkScope-java.lang.String-org.apache.jasper.compiler.Node-org.apache.jasper.compiler.ErrorDispatcher-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkScope</h4>
<pre>public static&nbsp;void&nbsp;checkScope(java.lang.String&nbsp;scope,
                              org.apache.jasper.compiler.Node&nbsp;n,
                              <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)
                       throws <a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></pre>
<div class="block">Checks to see if the given scope is valid.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - The scope to be checked</dd>
<dd><code>n</code> - The Node containing the 'scope' attribute whose value is to be
 checked</dd>
<dd><code>err</code> - error dispatcher</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></code> - if scope is not null and different from
 &quot;page&quot;, &quot;request&quot;, &quot;session&quot;, and
 &quot;application&quot;</dd>
</dl>
</li>
</ul>
<a name="checkAttributes-java.lang.String-org.apache.jasper.compiler.Node-org.apache.jasper.compiler.JspUtil.ValidAttribute:A-org.apache.jasper.compiler.ErrorDispatcher-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAttributes</h4>
<pre>public static&nbsp;void&nbsp;checkAttributes(java.lang.String&nbsp;typeOfTag,
                                   org.apache.jasper.compiler.Node&nbsp;n,
                                   <a href="../../../../org/apache/jasper/compiler/JspUtil.ValidAttribute.html" title="class in org.apache.jasper.compiler">JspUtil.ValidAttribute</a>[]&nbsp;validAttributes,
                                   <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)
                            throws <a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></pre>
<div class="block">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.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></code></dd>
</dl>
</li>
</ul>
<a name="escapeQueryString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeQueryString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;escapeQueryString(java.lang.String&nbsp;unescString)</pre>
</li>
</ul>
<a name="escapeXml-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeXml</h4>
<pre>public static&nbsp;java.lang.String&nbsp;escapeXml(java.lang.String&nbsp;s)</pre>
<div class="block">Escape the 5 entities defined by XML.</div>
</li>
</ul>
<a name="replace-java.lang.String-char-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replace</h4>
<pre>public static&nbsp;java.lang.String&nbsp;replace(java.lang.String&nbsp;name,
                                       char&nbsp;replace,
                                       java.lang.String&nbsp;with)</pre>
<div class="block">Replaces any occurrences of the character <tt>replace</tt> with the
 string <tt>with</tt>.</div>
</li>
</ul>
<a name="booleanValue-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>booleanValue</h4>
<pre>public static&nbsp;boolean&nbsp;booleanValue(java.lang.String&nbsp;s)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - the string to be converted</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the boolean value associated with the string s</dd>
</dl>
</li>
</ul>
<a name="toClass-java.lang.String-java.lang.ClassLoader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toClass</h4>
<pre>public static&nbsp;java.lang.Class&lt;?&gt;&nbsp;toClass(java.lang.String&nbsp;type,
                                         java.lang.ClassLoader&nbsp;loader)
                                  throws java.lang.ClassNotFoundException</pre>
<div class="block">Returns the <tt>Class</tt> object associated with the class or
 interface with the given string name.

 <p> The <tt>Class</tt> object is determined by passing the given string
 name to the <tt>Class.forName()</tt> method, unless the given string
 name represents a primitive type, in which case it is converted to a
 <tt>Class</tt> object by appending ".class" to it (e.g., "int.class").</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.ClassNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="interpreterCall-boolean-java.lang.String-java.lang.Class-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interpreterCall</h4>
<pre>public static&nbsp;java.lang.String&nbsp;interpreterCall(boolean&nbsp;isTagFile,
                                               java.lang.String&nbsp;expression,
                                               java.lang.Class&nbsp;expectedType,
                                               java.lang.String&nbsp;fnmapvar,
                                               java.lang.String&nbsp;expectedDeferredType,
                                               java.lang.String&nbsp;expectedReturnType,
                                               java.lang.String[]&nbsp;expectedParamTypes)</pre>
<div class="block">Produces a String representing a call to the EL interpreter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expression</code> - a String containing zero or more "${}" expressions</dd>
<dd><code>expectedType</code> - the expected type of the interpreted result</dd>
<dd><code>fnmapvar</code> - Variable pointing to a function map.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a String representing a call to the EL interpreter.</dd>
</dl>
</li>
</ul>
<a name="validateExpressions-org.apache.jasper.compiler.Mark-java.lang.String-FunctionMapper-org.apache.jasper.compiler.ErrorDispatcher-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateExpressions</h4>
<pre>public static&nbsp;void&nbsp;validateExpressions(org.apache.jasper.compiler.Mark&nbsp;where,
                                       java.lang.String&nbsp;expressions,
                                       FunctionMapper&nbsp;functionMapper,
                                       <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)
                                throws <a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></pre>
<div class="block">Validates the syntax of all EL expressions within the given string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>where</code> - the approximate location of the expressions in the JSP page</dd>
<dd><code>expressions</code> - a string containing an EL expressions</dd>
<dd><code>err</code> - an error dispatcher to use</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></code></dd>
</dl>
</li>
</ul>
<a name="coerce-java.lang.Class-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerce</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;coerce(java.lang.Class&nbsp;targetType,
                                      java.lang.String&nbsp;value)
                               throws ELException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>ELException</code></dd>
</dl>
</li>
</ul>
<a name="resetTemporaryVariableName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetTemporaryVariableName</h4>
<pre>public static&nbsp;void&nbsp;resetTemporaryVariableName()</pre>
<div class="block">Resets the temporary variable name.
 (not thread-safe)</div>
</li>
</ul>
<a name="nextTemporaryVariableName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextTemporaryVariableName</h4>
<pre>public static&nbsp;java.lang.String&nbsp;nextTemporaryVariableName()</pre>
<div class="block">Generates a new temporary variable name.
 (not thread-safe)</div>
</li>
</ul>
<a name="coerceToPrimitiveBoolean-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveBoolean</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveBoolean(java.lang.String&nbsp;s,
                                                        boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToBoolean-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToBoolean</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToBoolean(java.lang.String&nbsp;s,
                                               boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToPrimitiveByte-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveByte</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveByte(java.lang.String&nbsp;s,
                                                     boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToByte-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToByte</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToByte(java.lang.String&nbsp;s,
                                            boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToChar-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToChar</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToChar(java.lang.String&nbsp;s,
                                            boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToCharacter-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToCharacter</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToCharacter(java.lang.String&nbsp;s,
                                                 boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToPrimitiveDouble-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveDouble</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveDouble(java.lang.String&nbsp;s,
                                                       boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToDouble-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToDouble</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToDouble(java.lang.String&nbsp;s,
                                              boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToPrimitiveFloat-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveFloat</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveFloat(java.lang.String&nbsp;s,
                                                      boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToFloat-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToFloat</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToFloat(java.lang.String&nbsp;s,
                                             boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToInt-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToInt</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToInt(java.lang.String&nbsp;s,
                                           boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToInteger-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToInteger</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToInteger(java.lang.String&nbsp;s,
                                               boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToPrimitiveShort-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveShort</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveShort(java.lang.String&nbsp;s,
                                                      boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToShort-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToShort</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToShort(java.lang.String&nbsp;s,
                                             boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToPrimitiveLong-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToPrimitiveLong</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToPrimitiveLong(java.lang.String&nbsp;s,
                                                     boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToLong-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToLong</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToLong(java.lang.String&nbsp;s,
                                            boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="coerceToEnum-java.lang.String-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coerceToEnum</h4>
<pre>public static&nbsp;java.lang.String&nbsp;coerceToEnum(java.lang.String&nbsp;s,
                                            java.lang.String&nbsp;enumClass,
                                            boolean&nbsp;isNamedAttribute)</pre>
</li>
</ul>
<a name="getInputStream-java.lang.String-java.util.jar.JarFile-org.apache.jasper.JspCompilationContext-org.apache.jasper.compiler.ErrorDispatcher-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputStream</h4>
<pre>public static&nbsp;java.io.InputStream&nbsp;getInputStream(java.lang.String&nbsp;fname,
                                                 java.util.jar.JarFile&nbsp;jarFile,
                                                 <a href="../../../../org/apache/jasper/JspCompilationContext.html" title="class in org.apache.jasper">JspCompilationContext</a>&nbsp;ctxt,
                                                 <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)
                                          throws <a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a>,
                                                 java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="getTagHandlerClassName-java.lang.String-org.apache.jasper.compiler.ErrorDispatcher-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTagHandlerClassName</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getTagHandlerClassName(java.lang.String&nbsp;path,
                                                      <a href="../../../../org/apache/jasper/compiler/ErrorDispatcher.html" title="class in org.apache.jasper.compiler">ErrorDispatcher</a>&nbsp;err)
                                               throws <a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></pre>
<div class="block">Gets the fully-qualified class name of the tag handler corresponding to
 the given tag file path.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - Tag file path</dd>
<dd><code>err</code> - Error dispatcher</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Fully-qualified class name of the tag handler corresponding to 
 the given tag file path</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/jasper/JasperException.html" title="class in org.apache.jasper">JasperException</a></code></dd>
</dl>
</li>
</ul>
<a name="makeJavaPackage-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeJavaPackage</h4>
<pre>public static final&nbsp;java.lang.String&nbsp;makeJavaPackage(java.lang.String&nbsp;path)</pre>
<div class="block">Converts the given path to a Java package or fully-qualified class name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - Path to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Java package corresponding to the given path</dd>
</dl>
</li>
</ul>
<a name="makeJavaIdentifier-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeJavaIdentifier</h4>
<pre>public static final&nbsp;java.lang.String&nbsp;makeJavaIdentifier(java.lang.String&nbsp;identifier)</pre>
<div class="block">Converts the given identifier to a legal Java identifier</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - Identifier to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Legal Java identifier corresponding to the given identifier</dd>
</dl>
</li>
</ul>
<a name="mangleChar-char-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mangleChar</h4>
<pre>public static final&nbsp;java.lang.String&nbsp;mangleChar(char&nbsp;ch)</pre>
<div class="block">Mangle the specified character to create a legal Java class name.</div>
</li>
</ul>
<a name="isJavaKeyword-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJavaKeyword</h4>
<pre>public static&nbsp;boolean&nbsp;isJavaKeyword(java.lang.String&nbsp;key)</pre>
<div class="block">Test whether the argument is a Java keyword</div>
</li>
</ul>
<a name="makeXmlJavaIdentifier-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeXmlJavaIdentifier</h4>
<pre>public static final&nbsp;java.lang.String&nbsp;makeXmlJavaIdentifier(java.lang.String&nbsp;name)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - Identifier to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Legal Java identifier corresponding to the given identifier</dd>
</dl>
</li>
</ul>
<a name="toJavaSourceType-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toJavaSourceType</h4>
<pre>public static&nbsp;java.lang.String&nbsp;toJavaSourceType(java.lang.String&nbsp;type)</pre>
<div class="block">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.</div>
</li>
</ul>
<a name="getCanonicalName-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCanonicalName</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getCanonicalName(java.lang.Class&nbsp;c)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - A instance of java.lang.Class</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The canonical name of c.</dd>
</dl>
</li>
</ul>
<a name="expandClassPath-java.util.List-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>expandClassPath</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;expandClassPath(java.util.List&lt;java.lang.String&gt;&nbsp;files)</pre>
<div class="block">Given a list of jar files, their manifest attribute Class-path are
 scanned, and jars specified there are added to the list.  This is
 carried out recursively.
 Note:  This is needed to work around the JDK bug 6725230.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/jasper/compiler/JspRuntimeContext.html" title="class in org.apache.jasper.compiler"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/jasper/compiler/JspUtil.ValidAttribute.html" title="class in org.apache.jasper.compiler"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/jasper/compiler/JspUtil.html" target="_top">Frames</a></li>
<li><a href="JspUtil.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
