## org.h2.message
Class TraceObject

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

Direct Known Subclasses:
  JdbcArray, JdbcBlob, JdbcClob, JdbcConnection, JdbcDatabaseMetaData, JdbcDataSource, JdbcParameterMetaData, JdbcResultSet, JdbcResultSetMetaData, JdbcSavepoint, JdbcStatement, JdbcXAConnection, JdbcXid

    public class TraceObject

extends java.lang.Object

The base class for objects that can print trace information about themselves.

Field Summary
`protected static int` `ARRAY` The trace type id for array objects.
`protected static int` `BLOB` The trace type id for blobs.
`protected static int` `CALLABLE_STATEMENT` The trace type id for callable statements.
`protected static int` `CLOB` The trace type id for clobs.
`protected static int` `CONNECTION` The trace type id for connections.
`protected static int` `DATA_SOURCE` The trace type id for data sources.
`protected static int` `DATABASE_META_DATA` The trace type id for database meta data objects.
`protected static int` `PARAMETER_META_DATA` The trace type id for parameter meta data objects.
`protected static int` `PREPARED_STATEMENT` The trace type id for prepared statements.
`protected static int` `RESULT_SET` The trace type id for result sets.
`protected static int` `RESULT_SET_META_DATA` The trace type id for result set meta data objects.
`protected static int` `SAVEPOINT` The trace type id for savepoint objects.
`protected static int` `SQL_EXCEPTION` The trace type id for sql exceptions.
`protected static int` `STATEMENT` The trace type id for statements.
`protected static int` `XA_DATA_SOURCE` The trace type id for XA data sources.
`protected static int` `XID` The trace type id for transaction ids.

Constructor Summary
`TraceObject()`

Method Summary
`protected void` `debugCode(java.lang.String text)` Write trace information in the form objectName.text.
`protected void` `debugCodeAssign(java.lang.String className, int newType, int newId, java.lang.String value)` Write trace information as an assignment in the form className prefixId = objectName.value.
`protected void` `debugCodeCall(java.lang.String methodName)` Write trace information as a method call in the form objectName.methodName().
`protected void` `debugCodeCall(java.lang.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 void` `debugCodeCall(java.lang.String methodName, java.lang.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 int` `getNextId(int type)` Get the next trace object id for this object type.
`protected Trace` `getTrace()` Get the trace object.
`int` `getTraceId()` INTERNAL
`java.lang.String` `getTraceObjectName()` INTERNAL
`protected boolean` `isDebugEnabled()` Check if the debug trace level is enabled.
`protected boolean` `isInfoEnabled()` Check if info trace level is enabled.
`protected java.sql.SQLException` `logAndConvert(java.lang.Exception ex)` Log an exception and convert it to a SQL exception if required.
`protected java.lang.String` `quote(java.lang.String s)` Format a string as a Java string literal.
`protected java.lang.String` `quoteArray(java.lang.String[] s)` Format a string array to the Java source code that represents this object.
`protected java.lang.String` `quoteBigDecimal(java.math.BigDecimal x)` Format a big decimal to the Java source code that represents this object.
`protected java.lang.String` `quoteBytes(byte[] x)` Format a byte array to the Java source code that represents this object.
`protected java.lang.String` `quoteDate(java.sql.Date x)` Format a date to the Java source code that represents this object.
`protected java.lang.String` `quoteIntArray(int[] s)` Format an int array to the Java source code that represents this object.
`protected java.lang.String` `quoteMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)` Format a map to the Java source code that represents this object.
`protected java.lang.String` `quoteTime(java.sql.Time x)` Format a time to the Java source code that represents this object.
`protected java.lang.String` `quoteTimestamp(java.sql.Timestamp x)` Format a timestamp to the Java source code that represents this object.
`protected void` `setTrace(Trace trace)` Update the trace object.
`protected void` `setTrace(Trace trace, int type, int id)` Set the options to use when writing trace message.
`static java.lang.String` `toString(java.lang.String sql, java.util.ArrayList<? extends ParameterInterface> params)` INTERNAL
`protected java.sql.SQLException` `unsupported(java.lang.String message)` Get and throw 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 Detail

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

### SQL_EXCEPTION

    protected static final int SQL_EXCEPTION

  The trace type id for sql exceptions.

  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

Constructor Detail

### TraceObject

    public TraceObject()

Method Detail

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

### setTrace

    protected void setTrace(Trace trace)

  Update the trace object.

  Parameters:
    `trace` - the trace object

### getTrace

    protected Trace getTrace()

  Get the trace object.

  Returns:
    the trace object

### getTraceId

    public int getTraceId()

  INTERNAL

### getTraceObjectName

    public java.lang.String getTraceObjectName()

  INTERNAL

### getNextId

    protected 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 boolean isDebugEnabled()

  Check if the debug trace level is enabled.

  Returns:
    true if it is

### isInfoEnabled

    protected boolean isInfoEnabled()

  Check if info trace level is enabled.

  Returns:
    true if it is

### debugCodeAssign

    protected void debugCodeAssign(java.lang.String className,
                                   int newType,
                                   int newId,
                                   java.lang.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 void debugCodeCall(java.lang.String methodName)

  Write trace information as a method call in the form objectName.methodName().

  Parameters:
    `methodName` - the method name

### debugCodeCall

    protected void debugCodeCall(java.lang.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 void debugCodeCall(java.lang.String methodName,
                                 java.lang.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 void debugCode(java.lang.String text)

  Write trace information in the form objectName.text.

  Parameters:
    `text` - the trace text

### quote

    protected java.lang.String quote(java.lang.String s)

  Format a string as a Java string literal.

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

### quoteTime

    protected java.lang.String quoteTime(java.sql.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 java.lang.String quoteTimestamp(java.sql.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 java.lang.String quoteDate(java.sql.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 java.lang.String quoteBigDecimal(java.math.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 java.lang.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 java.lang.String quoteArray(java.lang.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 java.lang.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 java.lang.String quoteMap(java.util.Map<java.lang.String,java.lang.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 java.sql.SQLException logAndConvert(java.lang.Exception ex)

  Log an exception and convert it to a SQL exception if required.

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

### unsupported

    protected java.sql.SQLException unsupported(java.lang.String message)
                                         throws java.sql.SQLException

  Get and throw a SQL exception meaning this feature is not supported.

  Parameters:
    `message` - the message
  Returns:
    never returns normally
  Throws:
    `java.sql.SQLException` - the exception

### toString

    public static java.lang.String toString(java.lang.String sql,
                                            java.util.ArrayList<? extends ParameterInterface> params)

  INTERNAL