All Packages    This Package  Previous  Next  

Class sqlj.runtime.profile.util.DataCustomizer

java.lang.Object
   |
   +----sqlj.runtime.profile.util.DataCustomizer

public class DataCustomizer
extends Object
A data customizer object provides a framework for customizing a profile data object. For each data member in the original profile data object, a "customizeXXX" method is called. Subclasses will override the "customizeXXX" methods that they want to provide with special behavior, and leave all other methods to the default implementation which keeps the data member as it originally appeared.

If no subclass overrides any method to customize part of the profile data object, then the original profile data object is used unchanged. This object keeps track of which data members were changed and were not changed to only create a new profile data object (or entry info or type info object) when the original has been modified. Thus, data will be shared with the original profile whenever possible.

If a new profile data, entry info or type info object is required, the reference implementation (package jsq.runtime.profile.ref) of these classes is used. Subclasses may also override the "newXXX" methods to create their own profile data, entry info or type info object instead of the reference implementations.


Variable Index

 o PARAM
Constant used to indicate a type info object that represents an entry parameter.
 o RESULT
Constant used to indicate a type info object that represents an entry result.

Constructor Index

 o DataCustomizer()

Method Index

 o customizeData(ProfileData)
Returns a customized version of the the passed profile data object.
 o customizeDescriptor(ProfileData, EntryInfo, int)
Returns a customized version of the descriptor component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeEntry(ProfileData, EntryInfo, int)
Returns a customized version of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeExecType(ProfileData, EntryInfo, int)
Returns a customized version of the execute type component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeJavaTypeName(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the java type name component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o customizeLineNumber(ProfileData, EntryInfo, int)
Returns a customized version of the source file line number component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeMarkerIndex(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the marker index component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o customizeMode(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the mode component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o customizeName(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the name component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o customizeResultSetName(ProfileData, EntryInfo, int)
Returns a customized version of the result set name component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeResultSetType(ProfileData, EntryInfo, int)
Returns a customized version of the result set type component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeRole(ProfileData, EntryInfo, int)
Returns a customized version of the role component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeSourceFile(ProfileData)
Returns a customized version of the source file component of the passed profile data object.
 o customizeSQLString(ProfileData, EntryInfo, int)
Returns a customized version of the sql string component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeSQLType(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the sql type component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o customizeStatementType(ProfileData, EntryInfo, int)
Returns a customized version of the statement type component of the passed entry info object, which appears at index "entryNum" in profile data object "data".
 o customizeType(ProfileData, EntryInfo, int, TypeInfo, int, int)
Returns a customized version of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data".
 o main(String[])
The testing entry point for a data customizer.
 o newEntryInfo(ProfileData, EntryInfo, int, String, int, int, int, int, Object, TypeInfo[], TypeInfo[], int, String)
Creates and returns a new entry info object whose data corresponds to the values passed.
 o newProfileData(ProfileData, EntryInfo[], Profile, String)
Creates and returns a new profile data object whose data corresponds to the values passed.
 o newTypeInfo(ProfileData, EntryInfo, int, TypeInfo, int, int, String, int, String, int, int)
Creates and returns a new type info object whose data corresponds to the values passed.

Variables

 o RESULT
 public static final int RESULT
Constant used to indicate a type info object that represents an entry result.

 o PARAM
 public static final int PARAM
Constant used to indicate a type info object that represents an entry parameter.

Constructors

 o DataCustomizer
 public DataCustomizer()

Methods

 o customizeData
 public ProfileData customizeData(ProfileData data)
Returns a customized version of the the passed profile data object. A profile data object is customized by customizing each of its components. If a component has changed, the newProfileData method is called to create a new profile data instance and populate it with the changed data. Otherwise, the original profile data object is returned.

Parameters:
data - the profile data object to customize.
Returns:
a customized profile data object.
See Also:
newProfileData
 o customizeSourceFile
 public String customizeSourceFile(ProfileData data)
Returns a customized version of the source file component of the passed profile data object. By default, the current source file component of the data is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the source file to customize.
Returns:
a customized source file
See Also:
getSourceFile
 o newProfileData
 public ProfileData newProfileData(ProfileData origData,
                                   EntryInfo entries[],
                                   Profile profile,
                                   String sourceFile)
Creates and returns a new profile data object whose data corresponds to the values passed. By default, the reference implementation of the profile data class is used. Subclasses whould override if another class is to be substituted instead.

Parameters:
origData - the original profile data object.
entries - the new entires for the profile data object.
profile - the profile associated with the new profile data object.
sourceFile - the customized name of the source file for this profile
Returns:
a new profile data object.
See Also:
ProfileDataImpl
 o customizeEntry
 public EntryInfo customizeEntry(ProfileData data,
                                 EntryInfo entry,
                                 int entryNum)
Returns a customized version of the passed entry info object, which appears at index "entryNum" in profile data object "data". An entry info object is customized by customizing each of its components. If a component has changed, the newEntryInfo method is called to create a new entry info instance and populate it with the changed data. Otherwise, the original entry info object is returned.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized entry info object.
See Also:
newEntryInfo
 o newEntryInfo
 public EntryInfo newEntryInfo(ProfileData origData,
                               EntryInfo origEntry,
                               int entryNum,
                               String sqlString,
                               int stmtType,
                               int execType,
                               int role,
                               int resultSetType,
                               Object desc,
                               TypeInfo params[],
                               TypeInfo results[],
                               int lineNumber,
                               String resultSetName)
Creates and returns a new entry info object whose data corresponds to the values passed. By default, the reference implementation of the entry info class is used. Subclasses whould override if another class is to be substituted instead.

Parameters:
origData - the original profile data object.
origEntry - the original entry info object.
entryNum - the index at which this entry appears in the profile data.
sqlString - the new text of the sql operation
stmtType - the new statement type of the entry
execType - the new exceute type of the entry
role - the new role of the entry
resultSetType - the new result set type of the entry
desc - the new descriptor of the entry
params - the new set of parameters for the entry
results - the new set of results for the entry
lineNumber - the new source file line number for the entry
resultSetName - the new result set name for the entry
Returns:
a new entry info object.
See Also:
EntryInfoImpl
 o customizeSQLString
 public String customizeSQLString(ProfileData data,
                                  EntryInfo entry,
                                  int entryNum)
Returns a customized version of the sql string component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current sql string component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the sql string to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized sql string
See Also:
getSQLString
 o customizeResultSetName
 public String customizeResultSetName(ProfileData data,
                                      EntryInfo entry,
                                      int entryNum)
Returns a customized version of the result set name component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current result set name component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the result set name to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized result set name
See Also:
getResultSetName
 o customizeStatementType
 public int customizeStatementType(ProfileData data,
                                   EntryInfo entry,
                                   int entryNum)
Returns a customized version of the statement type component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current statement type component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the statement type to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized statement type
See Also:
getStatementType
 o customizeExecType
 public int customizeExecType(ProfileData data,
                              EntryInfo entry,
                              int entryNum)
Returns a customized version of the execute type component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current execute type component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the execute type to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized execute type
See Also:
getExecuteType
 o customizeRole
 public int customizeRole(ProfileData data,
                          EntryInfo entry,
                          int entryNum)
Returns a customized version of the role component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current role component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the role to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized role
See Also:
getRole
 o customizeResultSetType
 public int customizeResultSetType(ProfileData data,
                                   EntryInfo entry,
                                   int entryNum)
Returns a customized version of the result set type component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current result set type component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the result set type to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized result set type
See Also:
getResultSetType
 o customizeDescriptor
 public Object customizeDescriptor(ProfileData data,
                                   EntryInfo entry,
                                   int entryNum)
Returns a customized version of the descriptor component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current descriptor component of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the descriptor to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized descriptor
See Also:
getDescriptor
 o customizeLineNumber
 public int customizeLineNumber(ProfileData data,
                                EntryInfo entry,
                                int entryNum)
Returns a customized version of the source file line number component of the passed entry info object, which appears at index "entryNum" in profile data object "data". By default, the current line number of the entry is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the line number to customize.
entryNum - the 0-based index at which the entry occurs within the profile data.
Returns:
a customized line number
See Also:
getLineNumber
 o customizeType
 public TypeInfo customizeType(ProfileData data,
                               EntryInfo entry,
                               int entryNum,
                               TypeInfo type,
                               int typeNum,
                               int typeRole)
Returns a customized version of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). A type info object is customized by customizing each of its components. If a component has changed, the newTypeInfo method is called to create a new type info instance and populate it with the changed data. Otherwise, the original type info object is returned.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized type info object.
See Also:
newTypeInfo, RESULT, PARAM
 o newTypeInfo
 public TypeInfo newTypeInfo(ProfileData origData,
                             EntryInfo origEntry,
                             int entryNum,
                             TypeInfo origType,
                             int typeNum,
                             int typeRole,
                             String javaType,
                             int sqlType,
                             String name,
                             int mode,
                             int markerIndex)
Creates and returns a new type info object whose data corresponds to the values passed. By default, the reference implementation of the type info class is used. Subclasses whould override if another class is to be substituted instead.

Parameters:
origData - the original profile data object.
origEntry - the original entry info object.
entryNum - the index at which this entry appears in the profile data.
type - the type info object to customize.
typeNum - the index at which the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
javaType - the name of the new java type of the type
sqlType - the new sql type of the type
name - the new name of the type
mode - the new mode of the type
markerIndex - the new marker index of the type
Returns:
a new type info object.
See Also:
TypeInfoImpl, RESULT, PARAM
 o customizeSQLType
 public int customizeSQLType(ProfileData data,
                             EntryInfo entry,
                             int entryNum,
                             TypeInfo type,
                             int typeNum,
                             int typeRole)
Returns a customized version of the sql type component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). By default, the current sql type component of the type is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized sql type
See Also:
getSQLType
 o customizeJavaTypeName
 public String customizeJavaTypeName(ProfileData data,
                                     EntryInfo entry,
                                     int entryNum,
                                     TypeInfo type,
                                     int typeNum,
                                     int typeRole)
Returns a customized version of the java type name component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). By default, the current java type name component of the type is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized java type name
See Also:
getJavaTypeName
 o customizeName
 public String customizeName(ProfileData data,
                             EntryInfo entry,
                             int entryNum,
                             TypeInfo type,
                             int typeNum,
                             int typeRole)
Returns a customized version of the name component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). By default, the current name component of the type is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized name
See Also:
getName
 o customizeMode
 public int customizeMode(ProfileData data,
                          EntryInfo entry,
                          int entryNum,
                          TypeInfo type,
                          int typeNum,
                          int typeRole)
Returns a customized version of the mode component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). By default, the current mode component of the type is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized mode
See Also:
getMode
 o customizeMarkerIndex
 public int customizeMarkerIndex(ProfileData data,
                                 EntryInfo entry,
                                 int entryNum,
                                 TypeInfo type,
                                 int typeNum,
                                 int typeRole)
Returns a customized version of the marker index component of the passed type info object, which appears at index "typeNum" in the entry info object "entry", which appears at index "entryNum" in profile data object "data". The "typeRole" parameter describes the way in which the type to customize appears in the original entry info (either as a parameter or result). By default, the current marker index component of the type is returned. Subclasses should override this method if nondefault behavior is desired.

Parameters:
data - the profile data object containing the entry.
entry - the entry info object containing the type.
entryNum - the 0-based index at which the entry occurs within the profile data.
type - the type info object to customize.
typeNum - the index at whic the type appears in the entry either as a result or parameter.
typeRole - is RESULT if the type is a result, PARAM if the type is a parameter in the corresponding entry.
Returns:
a customized marker index
See Also:
getMarkerIndex
 o main
 public static void main(String args[]) throws Exception
The testing entry point for a data customizer. This call is used for unit testing only. It verifies that running the default customizer on a particular profile produces an unchanged profile. It outputs "failed" on failure, "success" on success. Outputs usage if no arguments passed.

Throws: Exception
if an error occurs.

All Packages    This Package  Previous  Next