## org.apache.jasper
Class JspCompilationContext

    java.lang.Object
      org.apache.jasper.JspCompilationContext

public class JspCompilationContext
extends java.lang.Object

A place holder for various things that are used through out the JSP engine. This is a per-request/per-context data structure. Some of the instance variables are set at different points. Most of the path-related stuff is here - mangling names, versions, dirs, loading resources and dealing with uris.

Author:
  Anil K. Vijendran, Harish Prabandham, Pierre Delisle, Costin Manolache

Field Summary
`protected java.lang.String` `baseURI`
`protected java.lang.String` `classFileName`
`protected java.lang.String` `classPath`
`protected java.lang.String` `contentType`
`protected javax.servlet.ServletContext` `context`
`protected Compiler` `jspCompiler`
`protected java.net.URLClassLoader` `jspLoader`
`protected java.lang.String` `jspPath`
`protected java.lang.String` `jspUri`
`protected JspServletWrapper` `jsw`
`protected java.net.URLClassLoader` `loader`
`protected Options` `options`
`protected java.lang.String` `outputDir`
`protected java.net.URL[]` `outUrls`
`protected JspRuntimeContext` `rctxt`
`protected JspReader` `reader`
`protected int` `removed`
`protected java.lang.Class` `servletClass`
`protected java.lang.String` `servletClassName`
`protected java.lang.String` `servletJavaFileName`
`protected java.lang.String` `servletPackageName`
`protected ServletWriter` `writer`

Constructor Summary
`JspCompilationContext(java.lang.String jspUri, boolean isErrPage, Options options, javax.servlet.ServletContext context, JspServletWrapper jsw, JspRuntimeContext rctxt)`

Method Summary
`void` `compile()`
`Compiler` `createCompiler()` Create a "Compiler" object based on some init param data.
`void` `createOutdir()`
`java.lang.String` `getClassFileName()`
`java.lang.ClassLoader` `getClassLoader()` What class loader to use for loading classes while compiling this JSP?
`java.lang.String` `getClassPath()` The classpath that is passed off to the Java compiler.
`java.lang.String` `getContentType()` Get the content type of this JSP.
`java.lang.String` `getJspFile()` Path of the JSP URI.
`java.lang.String` `getJspPath()` Path of the JSP relative to the work directory.
`Options` `getOptions()` Get hold of the Options object for this context.
`java.lang.String` `getOutputDir()` The scratch directory to generate code into.
`JspReader` `getReader()` Get the input reader for the JSP text.
`java.lang.String` `getRealPath(java.lang.String path)` Gets the actual path of a URI relative to the context of the compilation.
`java.net.URL` `getResource(java.lang.String res)`
`java.io.InputStream` `getResourceAsStream(java.lang.String res)` Gets a resource as a stream, relative to the meanings of this context's implementation.
`java.lang.String` `getServletClassName()` Just the class name (does not include package name) of the generated class.
`java.lang.String` `getServletJavaFileName()` Full path name of the Java file into which the servlet is being generated.
`java.lang.String` `getServletPackageName()` Package name for the generated class.
`java.lang.String[]` `getTldLocation(java.lang.String uri)` Get the 'location' of the TLD associated with a given taglib 'uri'.
`ServletWriter` `getWriter()` Where is the servlet being generated?
`void` `incrementRemoved()`
`boolean` `isErrorPage()` Are we processing something that has been declared as an errorpage?
`boolean` `isRemoved()`
`boolean` `keepGenerated()` Are we keeping generated code around?
`java.lang.Class` `load()`
`java.lang.String` `resolveRelativeUri(java.lang.String uri)` Get the full value of a URI relative to this compilations context uses current file as the base.
`void` `setClassLoader(java.net.URLClassLoader loader)`
`void` `setClassPath(java.lang.String classPath)` The classpath that is passed off to the Java compiler.
`void` `setContentType(java.lang.String contentType)`
`void` `setErrorPage(boolean isErrPage)`
`void` `setOutputDir(java.lang.String s)`
`void` `setReader(JspReader reader)`
`void` `setServletClassName(java.lang.String servletClassName)`
`void` `setServletJavaFileName(java.lang.String servletJavaFileName)`
`void` `setServletPackageName(java.lang.String servletPackageName)` The package name into which the servlet class is generated.
`void` `setWriter(ServletWriter writer)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### servletClassName

    protected java.lang.String servletClassName

### jspUri

    protected java.lang.String jspUri

### servletPackageName

    protected java.lang.String servletPackageName

### servletJavaFileName

    protected java.lang.String servletJavaFileName

### jspPath

    protected java.lang.String jspPath

### classFileName

    protected java.lang.String classFileName

### contentType

    protected java.lang.String contentType

### reader

    protected JspReader reader

### writer

    protected ServletWriter writer

### options

    protected Options options

### jsw

    protected JspServletWrapper jsw

### jspCompiler

    protected Compiler jspCompiler

### classPath

    protected java.lang.String classPath

### baseURI

    protected java.lang.String baseURI

### outputDir

    protected java.lang.String outputDir

### context

    protected javax.servlet.ServletContext context

### loader

    protected java.net.URLClassLoader loader

### rctxt

    protected JspRuntimeContext rctxt

### removed

    protected int removed

### jspLoader

    protected java.net.URLClassLoader jspLoader

### outUrls

    protected java.net.URL[] outUrls

### servletClass

    protected java.lang.Class servletClass

Constructor Detail

### JspCompilationContext

    public JspCompilationContext(java.lang.String jspUri,
                                 boolean isErrPage,
                                 Options options,
                                 javax.servlet.ServletContext context,
                                 JspServletWrapper jsw,
                                 JspRuntimeContext rctxt)

Method Detail

### getClassPath

    public java.lang.String getClassPath()

  The classpath that is passed off to the Java compiler.

### setClassPath

    public void setClassPath(java.lang.String classPath)

  The classpath that is passed off to the Java compiler.

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

  What class loader to use for loading classes while compiling this JSP?

### setClassLoader

    public void setClassLoader(java.net.URLClassLoader loader)

### getOutputDir

    public java.lang.String getOutputDir()

  The scratch directory to generate code into.

### setOutputDir

    public void setOutputDir(java.lang.String s)

### createCompiler

    public Compiler createCompiler()
                            throws JasperException

  Create a "Compiler" object based on some init param data. This is not done yet. Right now we're just hardcoding the actual compilers that are created.

  Throws:
    `JasperException`

### resolveRelativeUri

    public java.lang.String resolveRelativeUri(java.lang.String uri)

  Get the full value of a URI relative to this compilations context uses current file as the base.

### getResourceAsStream

    public java.io.InputStream getResourceAsStream(java.lang.String res)

  Gets a resource as a stream, relative to the meanings of this context's implementation.

  Returns:
    a null if the resource cannot be found or represented as an InputStream.

### getResource

    public java.net.URL getResource(java.lang.String res)
                             throws java.net.MalformedURLException

  Throws:
    `java.net.MalformedURLException`

### getRealPath

    public java.lang.String getRealPath(java.lang.String path)

  Gets the actual path of a URI relative to the context of the compilation.

### getServletClassName

    public java.lang.String getServletClassName()

  Just the class name (does not include package name) of the generated class.

### setServletClassName

    public void setServletClassName(java.lang.String servletClassName)

### getJspFile

    public java.lang.String getJspFile()

  Path of the JSP URI. Note that this is not a file name. This is the context rooted URI of the JSP file.

### isErrorPage

    public boolean isErrorPage()

  Are we processing something that has been declared as an errorpage?

### setErrorPage

    public void setErrorPage(boolean isErrPage)

### getServletPackageName

    public java.lang.String getServletPackageName()

  Package name for the generated class.

### setServletPackageName

    public void setServletPackageName(java.lang.String servletPackageName)

  The package name into which the servlet class is generated.

### getServletJavaFileName

    public java.lang.String getServletJavaFileName()

  Full path name of the Java file into which the servlet is being generated.

### setServletJavaFileName

    public void setServletJavaFileName(java.lang.String servletJavaFileName)

### getOptions

    public Options getOptions()

  Get hold of the Options object for this context.

### getJspPath

    public java.lang.String getJspPath()

  Path of the JSP relative to the work directory.

### getClassFileName

    public java.lang.String getClassFileName()

### getContentType

    public java.lang.String getContentType()

  Get the content type of this JSP. Content type includes content type and encoding.

### setContentType

    public void setContentType(java.lang.String contentType)

### getReader

    public JspReader getReader()

  Get the input reader for the JSP text.

### setReader

    public void setReader(JspReader reader)

### getWriter

    public ServletWriter getWriter()

  Where is the servlet being generated?

### setWriter

    public void setWriter(ServletWriter writer)

### getTldLocation

    public java.lang.String[] getTldLocation(java.lang.String uri)
                                      throws JasperException

  Get the 'location' of the TLD associated with a given taglib 'uri'.

  Returns:
    An array of two Strings. The first one is real path to the TLD. If the path to the TLD points to a jar file, then the second string is the name of the entry for the TLD in the jar file. Returns null if the uri is not associated to a tag library 'exposed' in the web application. A tag library is 'exposed' either explicitely in web.xml or implicitely via the uri tag in the TLD of a taglib deployed in a jar file (WEB-INF/lib).
  Throws:
    `JasperException`

### keepGenerated

    public boolean keepGenerated()

  Are we keeping generated code around?

### incrementRemoved

    public void incrementRemoved()

### isRemoved

    public boolean isRemoved()

### compile

    public void compile()
                 throws JasperException,
                        java.io.FileNotFoundException

  Throws:
    `JasperException`
    `java.io.FileNotFoundException`

### load

    public java.lang.Class load()
                         throws JasperException,
                                java.io.FileNotFoundException

  Throws:
    `JasperException`
    `java.io.FileNotFoundException`

### createOutdir

    public void createOutdir()

Copyright ? 2000 Apache Software Foundation. All Rights Reserved.