Package org.apache.catalina.manager

# Class StatusTransformer

java.lang.Object
org.apache.catalina.manager.StatusTransformer

public class StatusTransformer extends Object
This is a refactoring of the servlet to externalize the output into a simple class. Although we could use XSLT, that is unnecessarily complex.

Author:
  Peter Lin

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StatusTransformer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `filter(Object obj)`
  Deprecated.
  This method will be removed in Tomcat 9
  `static String`
  `filterXml(String s)`
  Deprecated.
  This method will be removed in Tomcat 9
  `static String`
  `formatSeconds(Object obj)`
  Formats the given time (given in seconds) as a string.
  `static String`
  `formatSize(Object obj, boolean mb)`
  Display the given size in bytes, either as KiB or MiB.
  `static String`
  `formatTime(Object obj, boolean seconds)`
  Display the given time in ms, either as ms or s.
  `static void`
  `setContentType(HttpServletResponse response, int mode)`
  `static void`
  `writeBody(PrintWriter writer, Object[] args, int mode)`
  Write the header body.
  `static void`
  `writeConnectorsState(PrintWriter writer, MBeanServer mBeanServer, Vector<ObjectName> threadPools, Vector<ObjectName> globalRequestProcessors, Vector<ObjectName> requestProcessors, int mode, Object[] args)`
  Write connector state.
  `static void`
  `writeConnectorState(PrintWriter writer, ObjectName tpName, String name, MBeanServer mBeanServer, Vector<ObjectName> globalRequestProcessors, Vector<ObjectName> requestProcessors, int mode, Object[] args)`
  Write connector state.
  `protected static void`
  `writeContext(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode)`
  Write context state.
  `static void`
  `writeDetailedState(PrintWriter writer, MBeanServer mBeanServer, int mode)`
  Write applications state.
  `static void`
  `writeFooter(PrintWriter writer, int mode)`
  `static void`
  `writeHeader(PrintWriter writer, Object[] args, int mode)`
  Write an HTML or XML header.
  `static void`
  `writeJspMonitor(PrintWriter writer, Set<ObjectName> jspMonitorONs, MBeanServer mBeanServer, int mode)`
  Write JSP monitoring information.
  `static void`
  `writeManager(PrintWriter writer, Object[] args, int mode)`
  Write the manager webapp information.
  `static void`
  `writeManager(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode)`
  Write detailed information about a manager.
  `static void`
  `writeOSState(PrintWriter writer, int mode, Object[] args)`
  Write the OS state.
  `static void`
  `writePageHeading(PrintWriter writer, Object[] args, int mode)`
  `protected static void`
  `writeProcessorState(PrintWriter writer, ObjectName pName, MBeanServer mBeanServer, int mode)`
  Write processor state.
  `static void`
  `writeServerInfo(PrintWriter writer, Object[] args, int mode)`
  `static void`
  `writeVMState(PrintWriter writer, int mode, Object[] args)`
  Write the VM state.
  `static void`
  `writeWrapper(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode)`
  Write detailed information about a wrapper.

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

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

- ## Constructor Details

  - ### StatusTransformer

    public StatusTransformer()

- ## Method Details

  - ### setContentType

    public static void setContentType(HttpServletResponse response, int mode)

  - ### writeHeader

    public static void writeHeader(PrintWriter writer, Object[] args, int mode)
    Write an HTML or XML header.
    Parameters:
      `writer` - the PrintWriter to use
      `args` - Path prefix for URLs
      `mode` - - 0 = HTML header, 1 = XML declaration, 2 = JSON

  - ### writeBody

    public static void writeBody(PrintWriter writer, Object[] args, int mode)
    Write the header body. XML output doesn't bother to output this stuff, since it's just title.
    Parameters:
      `writer` - The output writer
      `args` - What to write
      `mode` - 0 means write

  - ### writeManager

    public static void writeManager(PrintWriter writer, Object[] args, int mode)
    Write the manager webapp information.
    Parameters:
      `writer` - The output writer
      `args` - What to write
      `mode` - 0 means write

  - ### writePageHeading

    public static void writePageHeading(PrintWriter writer, Object[] args, int mode)

  - ### writeServerInfo

    public static void writeServerInfo(PrintWriter writer, Object[] args, int mode)

  - ### writeFooter

    public static void writeFooter(PrintWriter writer, int mode)

  - ### writeOSState

    public static void writeOSState(PrintWriter writer, int mode, Object[] args)
    Write the OS state.
    Parameters:
      `writer` - The output writer
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
      `args` - I18n labels for the OS state values

  - ### writeVMState

    public static void writeVMState(PrintWriter writer, int mode, Object[] args) throws Exception
    Write the VM state.
    Parameters:
      `writer` - The output writer
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
      `args` - I18n labels for the VM state values
    Throws:
      `Exception` - Propagated JMX error

  - ### writeConnectorsState

    public static void writeConnectorsState(PrintWriter writer, MBeanServer mBeanServer, Vector<ObjectName> threadPools, Vector<ObjectName> globalRequestProcessors, Vector<ObjectName> requestProcessors, int mode, Object[] args) throws Exception
    Write connector state.
    Parameters:
      `writer` - The output writer
      `mBeanServer` - MBean server
      `threadPools` - MBean names for the thread pools of the connectors
      `globalRequestProcessors` - MBean names for the global request processors
      `requestProcessors` - MBean names for the request processors
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
      `args` - I18n labels for the Connector state values
    Throws:
      `Exception` - Propagated JMX error

  - ### writeConnectorState

    public static void writeConnectorState(PrintWriter writer, ObjectName tpName, String name, MBeanServer mBeanServer, Vector<ObjectName> globalRequestProcessors, Vector<ObjectName> requestProcessors, int mode, Object[] args) throws Exception
    Write connector state.
    Parameters:
      `writer` - The output writer
      `tpName` - MBean name of the thread pool
      `name` - Connector name
      `mBeanServer` - MBean server
      `globalRequestProcessors` - MBean names for the global request processors
      `requestProcessors` - MBean names for the request processors
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
      `args` - I18n labels for the Connector state values
    Throws:
      `Exception` - Propagated JMX error

  - ### writeProcessorState

    protected static void writeProcessorState(PrintWriter writer, ObjectName pName, MBeanServer mBeanServer, int mode) throws Exception
    Write processor state.
    Parameters:
      `writer` - The output writer
      `pName` - MBean name of the processor
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### writeDetailedState

    public static void writeDetailedState(PrintWriter writer, MBeanServer mBeanServer, int mode) throws Exception
    Write applications state.
    Parameters:
      `writer` - The output writer
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### writeContext

    protected static void writeContext(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode) throws Exception
    Write context state.
    Parameters:
      `writer` - The output writer
      `objectName` - The context MBean name
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### writeManager

    public static void writeManager(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode) throws Exception
    Write detailed information about a manager.
    Parameters:
      `writer` - The output writer
      `objectName` - The manager MBean name
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### writeJspMonitor

    public static void writeJspMonitor(PrintWriter writer, Set<ObjectName> jspMonitorONs, MBeanServer mBeanServer, int mode) throws Exception
    Write JSP monitoring information.
    Parameters:
      `writer` - The output writer
      `jspMonitorONs` - The JSP MBean names
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### writeWrapper

    public static void writeWrapper(PrintWriter writer, ObjectName objectName, MBeanServer mBeanServer, int mode) throws Exception
    Write detailed information about a wrapper.
    Parameters:
      `writer` - The output writer
      `objectName` - The wrapper MBean names
      `mBeanServer` - MBean server
      `mode` - Mode `0` will generate HTML. Mode `1` will generate XML.
    Throws:
      `Exception` - Propagated JMX error

  - ### filter

    @Deprecated public static String filter(Object obj)
    Deprecated.
    This method will be removed in Tomcat 9
    Filter the specified message string for characters that are sensitive in HTML. This avoids potential attacks caused by including JavaScript codes in the request URL that is often reported in error messages.
    Parameters:
      `obj` - The message string to be filtered
    Returns:
      filtered HTML content

  - ### filterXml

    @Deprecated public static String filterXml(String s)
    Deprecated.
    This method will be removed in Tomcat 9
    Escape the 5 entities defined by XML.
    Parameters:
      `s` - The message string to be filtered
    Returns:
      filtered XML content

  - ### formatSize

    public static String formatSize(Object obj, boolean mb)
    Display the given size in bytes, either as KiB or MiB.
    Parameters:
      `obj` - The object to format
      `mb` - true to display MiB, false for KiB
    Returns:
      formatted size

  - ### formatTime

    public static String formatTime(Object obj, boolean seconds)
    Display the given time in ms, either as ms or s.
    Parameters:
      `obj` - The object to format
      `seconds` - true to display seconds, false for milliseconds
    Returns:
      formatted time

  - ### formatSeconds

    public static String formatSeconds(Object obj)
    Formats the given time (given in seconds) as a string.
    Parameters:
      `obj` - Time object to be formatted as string
    Returns:
      formatted time