Package org.h2.message

# Class TraceObject

java.lang.Object
org.h2.message.TraceObject

Direct Known Subclasses:
  `JdbcArray`, `JdbcConnection`, `JdbcDatabaseMetaData`, `JdbcDataSource`, `JdbcLob`, `JdbcParameterMetaData`, `JdbcResultSet`, `JdbcResultSetMetaData`, `JdbcSavepoint`, `JdbcStatement`, `JdbcXAConnection`, `JdbcXid`, `ValueToObjectConverter`, `ValueToObjectConverter2`

public abstract class TraceObject extends Object
The base class for objects that can print trace information about themselves.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final int`
`ARRAY`
The trace type id for array objects.
`protected static final int`
`BLOB`
The trace type id for blobs.
`protected static final int`
`CALLABLE_STATEMENT`
The trace type id for callable statements.
`protected static final int`
`CLOB`
The trace type id for clobs.
`protected static final int`
`CONNECTION`
The trace type id for connections.
`protected static final int`
`DATA_SOURCE`
The trace type id for data sources.
`protected static final int`
`DATABASE_META_DATA`
The trace type id for database meta data objects.
`protected static final int`
`PARAMETER_META_DATA`
The trace type id for parameter meta data objects.
`protected static final int`
`PREPARED_STATEMENT`
The trace type id for prepared statements.
`protected static final int`
`RESULT_SET`
The trace type id for result sets.
`protected static final int`
`RESULT_SET_META_DATA`
The trace type id for result set meta data objects.
`protected static final int`
`SAVEPOINT`
The trace type id for savepoint objects.
`protected static final int`
`SQLXML`
The trace type id for SQLXML objects.
`protected static final int`
`STATEMENT`
The trace type id for statements.
`protected Trace`
`trace`
The trace module used by this object.
`protected static final int`
`XA_DATA_SOURCE`
The trace type id for XA data sources.
`protected static final int`
`XID`
The trace type id for transaction ids.

## Constructor Summary

Constructors
Constructor
Description
`TraceObject()`

## Method Summary

Modifier and Type
Method
Description
`protected final void`
`debugCode(String text)`
Write trace information in the form objectName.text.
`protected final void`
`debugCodeAssign(String className, int newType, int newId, String value)`
Write trace information as an assignment in the form className prefixId = objectName.value.
`protected final void`
`debugCodeCall(String methodName)`
Write trace information as a method call in the form objectName.methodName().
`protected final void`
`debugCodeCall(String methodName, long param)`
Write trace information as a method call in the form objectName.methodName(param) where the parameter is formatted as a long value.
`protected final void`
`debugCodeCall(String methodName, String param)`
Write trace information as a method call in the form objectName.methodName(param) where the parameter is formatted as a Java string.
`protected static int`
`getNextId(int type)`
Get the next trace object id for this object type.
`int`
`getTraceId()`
INTERNAL
`String`
`getTraceObjectName()`
INTERNAL
`protected final boolean`
`isDebugEnabled()`
Check if the debug trace level is enabled.
`protected final boolean`
`isInfoEnabled()`
Check if info trace level is enabled.
`protected SQLException`
`logAndConvert(Throwable ex)`
Log an exception and convert it to a SQL exception if required.
`protected static String`
`quote(String s)`
Format a string as a Java string literal.
`protected static String`
`quoteArray(String[] s)`
Format a string array to the Java source code that represents this object.
`protected static String`
`quoteBigDecimal(BigDecimal x)`
Format a big decimal to the Java source code that represents this object.
`protected static String`
`quoteBytes(byte[] x)`
Format a byte array to the Java source code that represents this object.
`protected static String`
`quoteDate(Date x)`
Format a date to the Java source code that represents this object.
`protected static String`
`quoteIntArray(int[] s)`
Format an int array to the Java source code that represents this object.
`protected static String`
`quoteMap(Map<String,Class<?>> map)`
Format a map to the Java source code that represents this object.
`protected static String`
`quoteTime(Time x)`
Format a time to the Java source code that represents this object.
`protected static String`
`quoteTimestamp(Timestamp x)`
Format a timestamp to the Java source code that represents this object.
`protected void`
`setTrace(Trace trace, int type, int id)`
Set the options to use when writing trace message.
`protected SQLException`
`unsupported(String message)`
Get a SQL exception meaning this feature is not supported.

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

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

## Field Details

### CALLABLE_STATEMENT

protected static final int CALLABLE_STATEMENT
The trace type id for callable statements.

See Also:
  - Constant Field Values

### CONNECTION

protected static final int CONNECTION
The trace type id for connections.

See Also:
  - Constant Field Values

### DATABASE_META_DATA

protected static final int DATABASE_META_DATA
The trace type id for database meta data objects.

See Also:
  - Constant Field Values

### PREPARED_STATEMENT

protected static final int PREPARED_STATEMENT
The trace type id for prepared statements.

See Also:
  - Constant Field Values

### RESULT_SET

protected static final int RESULT_SET
The trace type id for result sets.

See Also:
  - Constant Field Values

### RESULT_SET_META_DATA

protected static final int RESULT_SET_META_DATA
The trace type id for result set meta data objects.

See Also:
  - Constant Field Values

### SAVEPOINT

protected static final int SAVEPOINT
The trace type id for savepoint objects.

See Also:
  - Constant Field Values

### STATEMENT

protected static final int STATEMENT
The trace type id for statements.

See Also:
  - Constant Field Values

### BLOB

protected static final int BLOB
The trace type id for blobs.

See Also:
  - Constant Field Values

### CLOB

protected static final int CLOB
The trace type id for clobs.

See Also:
  - Constant Field Values

### PARAMETER_META_DATA

protected static final int PARAMETER_META_DATA
The trace type id for parameter meta data objects.

See Also:
  - Constant Field Values

### DATA_SOURCE

protected static final int DATA_SOURCE
The trace type id for data sources.

See Also:
  - Constant Field Values

### XA_DATA_SOURCE

protected static final int XA_DATA_SOURCE
The trace type id for XA data sources.

See Also:
  - Constant Field Values

### XID

protected static final int XID
The trace type id for transaction ids.

See Also:
  - Constant Field Values

### ARRAY

protected static final int ARRAY
The trace type id for array objects.

See Also:
  - Constant Field Values

### SQLXML

protected static final int SQLXML
The trace type id for SQLXML objects.

See Also:
  - Constant Field Values

### trace

protected Trace trace
The trace module used by this object.

## Constructor Details

### TraceObject

public TraceObject()

## Method Details

### setTrace

protected void setTrace(Trace trace, int type, int id)
Set the options to use when writing trace message.

Parameters:
  `trace` - the trace object
  `type` - the trace object type
  `id` - the trace object id

### getTraceId

public int getTraceId()
INTERNAL

Returns:
  id

### getTraceObjectName

public String getTraceObjectName()
INTERNAL

Returns:
  object name

### getNextId

protected static int getNextId(int type)
Get the next trace object id for this object type.

Parameters:
  `type` - the object type
Returns:
  the new trace object id

### isDebugEnabled

protected final boolean isDebugEnabled()
Check if the debug trace level is enabled.

Returns:
  true if it is

### isInfoEnabled

protected final boolean isInfoEnabled()
Check if info trace level is enabled.

Returns:
  true if it is

### debugCodeAssign

protected final void debugCodeAssign(String className, int newType, int newId, String value)
Write trace information as an assignment in the form className prefixId = objectName.value.

Parameters:
  `className` - the class name of the result
  `newType` - the prefix type
  `newId` - the trace object id of the created object
  `value` - the value to assign this new object to

### debugCodeCall

protected final void debugCodeCall(String methodName)
Write trace information as a method call in the form objectName.methodName().

Parameters:
  `methodName` - the method name

### debugCodeCall

protected final void debugCodeCall(String methodName, long param)
Write trace information as a method call in the form objectName.methodName(param) where the parameter is formatted as a long value.

Parameters:
  `methodName` - the method name
  `param` - one single long parameter

### debugCodeCall

protected final void debugCodeCall(String methodName, String param)
Write trace information as a method call in the form objectName.methodName(param) where the parameter is formatted as a Java string.

Parameters:
  `methodName` - the method name
  `param` - one single string parameter

### debugCode

protected final void debugCode(String text)
Write trace information in the form objectName.text.

Parameters:
  `text` - the trace text

### quote

protected static String quote(String s)
Format a string as a Java string literal.

Parameters:
  `s` - the string to convert
Returns:
  the Java string literal

### quoteTime

protected static String quoteTime(Time x)
Format a time to the Java source code that represents this object.

Parameters:
  `x` - the time to convert
Returns:
  the Java source code

### quoteTimestamp

protected static String quoteTimestamp(Timestamp x)
Format a timestamp to the Java source code that represents this object.

Parameters:
  `x` - the timestamp to convert
Returns:
  the Java source code

### quoteDate

protected static String quoteDate(Date x)
Format a date to the Java source code that represents this object.

Parameters:
  `x` - the date to convert
Returns:
  the Java source code

### quoteBigDecimal

protected static String quoteBigDecimal(BigDecimal x)
Format a big decimal to the Java source code that represents this object.

Parameters:
  `x` - the big decimal to convert
Returns:
  the Java source code

### quoteBytes

protected static String quoteBytes(byte[] x)
Format a byte array to the Java source code that represents this object.

Parameters:
  `x` - the byte array to convert
Returns:
  the Java source code

### quoteArray

protected static String quoteArray(String[] s)
Format a string array to the Java source code that represents this object.

Parameters:
  `s` - the string array to convert
Returns:
  the Java source code

### quoteIntArray

protected static String quoteIntArray(int[] s)
Format an int array to the Java source code that represents this object.

Parameters:
  `s` - the int array to convert
Returns:
  the Java source code

### quoteMap

protected static String quoteMap(Map<String,Class<?>> map)
Format a map to the Java source code that represents this object.

Parameters:
  `map` - the map to convert
Returns:
  the Java source code

### logAndConvert

protected SQLException logAndConvert(Throwable ex)
Log an exception and convert it to a SQL exception if required.

Parameters:
  `ex` - the exception
Returns:
  the SQL exception object

### unsupported

protected SQLException unsupported(String message)
Get a SQL exception meaning this feature is not supported.

Parameters:
  `message` - the message
Returns:
  the SQL exception