public abstract class ResultSetTranslatorImp extends StyledResultTranslatorImp
StyledResultTranslatorImp.ColumnStyle
log
Modifier | Constructor and Description |
---|---|
protected |
ResultSetTranslatorImp() |
Modifier and Type | Method and Description |
---|---|
void |
addColumnTranslator(ColumnTranslator ct) |
java.lang.Boolean |
getAttemptAutoConvert() |
java.util.List<ColumnTranslator> |
getColumnTranslators() |
java.lang.Boolean |
getDisplayColumnErrors() |
java.lang.String |
getResultCountMetadataItem() |
java.lang.String |
getUniqueId()
Deprecated.
since 3.6.3
|
java.lang.String |
getUpdateCountMetadataItem() |
protected boolean |
isDisplayColumnErrors() |
protected void |
logColumnErrors(int column,
java.lang.Exception e) |
void |
setAttemptAutoConvert(java.lang.Boolean b)
Whether or not to attempt conversion with a
ColumnTranslator rather than using a simple
toString() . |
void |
setColumnTranslators(java.util.List<ColumnTranslator> list)
Set the list of column translators that will be used and applied against each column in the result set.
|
void |
setDisplayColumnErrors(java.lang.Boolean b)
Sets whether to log any errors encountered when retrieving fields from the database.
|
void |
setResultCountMetadataItem(java.lang.String s)
Add the number of resultsets to metadata.
|
void |
setUniqueId(java.lang.String uniqueId)
Deprecated.
since 3.6.3
|
void |
setUpdateCountMetadataItem(java.lang.String s)
Add the number of result sets updated to metadata.
|
protected java.lang.String |
toString(JdbcResultRow rs,
int column) |
void |
translate(JdbcResult source,
AdaptrisMessage target)
Translate the contents of the result set into the AdaptrisMessage object.
|
abstract long |
translateResult(JdbcResult source,
AdaptrisMessage target)
Translate the result returning the number of rows translated.
|
protected void |
updateMetadata(AdaptrisMessage message,
long numResults,
java.lang.String metadataItemName) |
protected void |
updateMetadataQueryCount(AdaptrisMessage message,
long numResults) |
protected void |
updateMetadataUpdateCount(AdaptrisMessage message,
JdbcResult jdbcResult) |
<T extends ResultSetTranslatorImp> |
withAttemptAutoConvert(java.lang.Boolean b) |
<T extends ResultSetTranslatorImp> |
withColumnTranslators(ColumnTranslator... columnTranslators) |
<T extends ResultSetTranslatorImp> |
withColumnTranslators(java.util.List<ColumnTranslator> translators) |
getColumnNameStyle, setColumnNameStyle, withColumnNameStyle
public final void translate(JdbcResult source, AdaptrisMessage target) throws java.sql.SQLException, ServiceException
ResultSetTranslator
source
- the result set from a database query executed by
JdbcDataQueryService
target
- the adaptris messagejava.sql.SQLException
- on errors accessing the result set.ServiceException
- wrapping any other exceptionpublic abstract long translateResult(JdbcResult source, AdaptrisMessage target) throws java.sql.SQLException, ServiceException
java.sql.SQLException
ServiceException
protected java.lang.String toString(JdbcResultRow rs, int column)
protected void logColumnErrors(int column, java.lang.Exception e)
protected void updateMetadataQueryCount(AdaptrisMessage message, long numResults)
protected void updateMetadataUpdateCount(AdaptrisMessage message, JdbcResult jdbcResult)
protected void updateMetadata(AdaptrisMessage message, long numResults, java.lang.String metadataItemName)
public java.lang.Boolean getDisplayColumnErrors()
public void setDisplayColumnErrors(java.lang.Boolean b)
As an example, some databases use "0000-00-00" instead of a null date. This will cause an exception when attempting to retrieve the date using JDBC. We ignore the exception and simply produce an empty element; setting this flag causes the exception to be logged (handy during testing)
b
- protected boolean isDisplayColumnErrors()
public java.util.List<ColumnTranslator> getColumnTranslators()
public <T extends ResultSetTranslatorImp> T withColumnTranslators(ColumnTranslator... columnTranslators)
public <T extends ResultSetTranslatorImp> T withColumnTranslators(java.util.List<ColumnTranslator> translators)
public void setColumnTranslators(java.util.List<ColumnTranslator> list)
If this list is not empty then each translator in the list will be used to translate the corresponding column in the result set. If the list is empty then each column in the result set will be treated as either a byte[] or String column which may lead to undefined behaviour in the event of columns being CLOB / NCLOB / BLOB types.
list
- default is empty.public void addColumnTranslator(ColumnTranslator ct)
public java.lang.String getResultCountMetadataItem()
public void setResultCountMetadataItem(java.lang.String s)
s
- the metadata to add the value against; default is null (no output)public java.lang.String getUpdateCountMetadataItem()
public void setUpdateCountMetadataItem(java.lang.String s)
s
- the metadata to add the value against; default is null (no output)@Deprecated @Removal(version="3.9.0") public java.lang.String getUniqueId()
AdaptrisComponent
@Deprecated @Removal(version="3.9.0") public void setUniqueId(java.lang.String uniqueId)
AdaptrisComponent
public java.lang.Boolean getAttemptAutoConvert()
public void setAttemptAutoConvert(java.lang.Boolean b)
ColumnTranslator
rather than using a simple
toString()
.
Note that output may differ depending on defaults within the column translators. For instance
java.sql.Timestamp#toString()
differs from the default format in
TimestampColumnTranslator
.
b
- true to attempt conversion, default is false if not specified.public <T extends ResultSetTranslatorImp> T withAttemptAutoConvert(java.lang.Boolean b)