public class QueryExecutionInfoFormatter extends Object implements Function<QueryExecutionInfo,String>
QueryExecutionInfo
to String
.
Sample usage:
// convert all info
QueryExecutionInfoFormatter formatter = QueryExecutionInfoFormatter.showAll();
String str = formatter.format(queryExecutionInfo);
// customize conversion
QueryExecutionInfoFormatter formatter = new QueryExecutionInfoFormatter();
formatter.addConsumer((execInfo, sb) -> {
sb.append("MY-QUERY-EXECUTION="); // add prefix
};
formatter.newLine(); // new line
formatter.showSuccess();
formatter.addConsumer((execInfo, sb) -> {
// custom conversion
sb.append("MY-ID=" + executionInfo.getConnectionInfo().getConnectionId());
});
formatter.showQuery();
// convert it
String str = formatter.format(queryExecutionInfo);
Modifier and Type | Field and Description |
---|---|
BiConsumer<QueryExecutionInfo,StringBuilder> |
onBindings
Default implementation for formatting bindings.
|
BiConsumer<BoundValue,StringBuilder> |
onBoundValue
Default implementation for formatting bound value.
|
BiConsumer<io.r2dbc.spi.Parameter,StringBuilder> |
onBoundValueParameter
Default implementation for formatting
Parameter value. |
BiConsumer<Object,StringBuilder> |
onBoundValueRaw
Default implementation for formatting actual value of bound value.
|
BiConsumer<SortedSet<Binding>,StringBuilder> |
onIndexBindings
Default implementation for formatting bindings by index.
|
BiConsumer<SortedSet<Binding>,StringBuilder> |
onNamedBindings
Default implementation for formatting bindings by name.
|
Constructor and Description |
---|
QueryExecutionInfoFormatter() |
public BiConsumer<BoundValue,StringBuilder> onBoundValue
public BiConsumer<Object,StringBuilder> onBoundValueRaw
Example: "100", "Foo", "<clob>".
public BiConsumer<io.r2dbc.spi.Parameter,StringBuilder> onBoundValueParameter
Parameter
value.
Example: "null(in,INTEGER)", "Foo(out,String)".
public BiConsumer<SortedSet<Binding>,StringBuilder> onIndexBindings
public BiConsumer<SortedSet<Binding>,StringBuilder> onNamedBindings
public BiConsumer<QueryExecutionInfo,StringBuilder> onBindings
public static QueryExecutionInfoFormatter showAll()
QueryExecutionInfoFormatter
which writes out all attributes on QueryExecutionInfo
.public QueryExecutionInfoFormatter addConsumer(BiConsumer<QueryExecutionInfo,StringBuilder> consumer)
consumer
- a BiConsumer
that takes a QueryExecutionInfo
and write to the StringBuilder
.IllegalArgumentException
- if consumer
is null
public String format(QueryExecutionInfo executionInfo)
QueryExecutionInfo
to String
using registered consumers.executionInfo
- inputIllegalArgumentException
- if executionInfo
is null
public String apply(QueryExecutionInfo executionInfo)
apply
in interface Function<QueryExecutionInfo,String>
public QueryExecutionInfoFormatter delimiter(String delimiter)
delimiter
- delimiterIllegalArgumentException
- if delimiter
is null
public QueryExecutionInfoFormatter showThread()
public QueryExecutionInfoFormatter showConnection()
public QueryExecutionInfoFormatter showTransaction()
public QueryExecutionInfoFormatter showSuccess()
public QueryExecutionInfoFormatter showTime()
public QueryExecutionInfoFormatter showType()
public QueryExecutionInfoFormatter showBatchSize()
Batch.add(String)
}.public QueryExecutionInfoFormatter showBindingsSize()
Statement.add()
}.public QueryExecutionInfoFormatter showQuery()
public QueryExecutionInfoFormatter showBindings()
public QueryExecutionInfoFormatter newLine()
public QueryExecutionInfoFormatter boundValue(BiConsumer<BoundValue,StringBuilder> onBoundValue)
BoundValue
.onBoundValue
- bi-consumer for binding valueIllegalArgumentException
- if onBoundValue
is null
public QueryExecutionInfoFormatter indexBindings(BiConsumer<SortedSet<Binding>,StringBuilder> onIndexBindings)
onIndexBindings
- bi-consumer for index-bindingsIllegalArgumentException
- if onIndexBindings
is null
public QueryExecutionInfoFormatter namedBindings(BiConsumer<SortedSet<Binding>,StringBuilder> onNamedBindings)
onNamedBindings
- bi-consumer for named-bindingsIllegalArgumentException
- if onNamedBindings
is null
Copyright © 2024. All rights reserved.