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