org.h2.message
Class TraceObject

java.lang.Object
  extended by 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 type, int id, 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 e)
          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, ObjectArray<? extends ParameterInterface> params)
          INTERNAL
 
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 type,
                               int id,
                               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
type - the prefix type
id - 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 e)
Log an exception and convert it to a SQL exception if required.

Parameters:
e - the exception
Returns:
the SQL exception object

toString

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