# Class SmapUtil

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

public class SmapUtil extends Object
Contains static utilities for generating SMAP data based on the current version of Jasper.

Author:
  Jayson Falkner, Shawn Bayern, Robert Field (inner SDEInstaller class), Mark Roth, Kin-man Chung

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SmapUtil()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `evaluateNodes(Node.Nodes nodes, SmapStratum s, HashMap<String,SmapStratum> innerClassMap, boolean breakAtLF)`
  `static Map<String,SmapStratum>`
  `generateSmap(JspCompilationContext ctxt, Node.Nodes pageNodes)`
  Generates an appropriate SMAP representing the current compilation context.
  `static void`
  `installSmap(Map<String,SmapStratum> smapInfo)`
  `static SmapStratum`
  `loadSmap(String className, ClassLoader cl)`

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

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

- ## Constructor Details

  - ### SmapUtil

    public SmapUtil()

- ## Method Details

  - ### generateSmap

    public static Map<String,SmapStratum> generateSmap(JspCompilationContext ctxt, Node.Nodes pageNodes) throws IOException
    Generates an appropriate SMAP representing the current compilation context. (JSR-045.)
    Parameters:
      `ctxt` - Current compilation context
      `pageNodes` - The current JSP page
    Returns:
      a SMAP for the page
    Throws:
      `IOException` - Error writing SMAP

  - ### installSmap

    public static void installSmap(Map<String,SmapStratum> smapInfo) throws IOException
    Throws:
      `IOException`

  - ### evaluateNodes

    public static void evaluateNodes(Node.Nodes nodes, SmapStratum s, HashMap<String,SmapStratum> innerClassMap, boolean breakAtLF)

  - ### loadSmap

    public static SmapStratum loadSmap(String className, ClassLoader cl)