# 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.

## Constructor Summary

Constructors
Constructor
Description
`StatusTransformer()`

## Method Summary

Modifier and Type
Method
Description
`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.
`protected static String`
`getConnectorName(String name)`
Return the connector name without the port, for auto port connectors.
`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 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

### getConnectorName

protected static String getConnectorName(String name)
Return the connector name without the port, for auto port connectors.

Parameters:
  `name` - the connector name
Returns:
  the name without the port for the auto connectors

### 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

### 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