@FunctionalInterface public interface BindMarkersFactory
BindMarkers
instances to bind
parameter to a specific Statement
.
Bind markers can be typically represented as placeholder and identifier. Placeholders are used within the query to execute so the underlying database system can substitute the placeholder with the actual value. Identifiers are used in R2DBC drivers to bind a value to a bind marker. Identifiers are typically a part of an entire bind marker when using indexed or named bind markers.
BindMarkers
,
Statement
Modifier and Type | Method and Description |
---|---|
static BindMarkersFactory |
anonymous(String placeholder)
Create anonymous, index-based bind marker using a static placeholder.
|
BindMarkers |
create()
Create a new
BindMarkers instance. |
default boolean |
identifiablePlaceholders()
Return whether the
BindMarkersFactory uses identifiable placeholders:
false if multiple placeholders cannot be distinguished by just the
placeholder identifier. |
static BindMarkersFactory |
indexed(String prefix,
int beginWith)
Create index-based
BindMarkers using indexes to bind parameters. |
static BindMarkersFactory |
named(String prefix,
String namePrefix,
int maxLength)
Create named
BindMarkers using identifiers to bind parameters. |
static BindMarkersFactory |
named(String prefix,
String namePrefix,
int maxLength,
Function<String,String> hintFilterFunction)
Create named
BindMarkers using identifiers to bind parameters. |
BindMarkers create()
BindMarkers
instance.default boolean identifiablePlaceholders()
BindMarkersFactory
uses identifiable placeholders:
false
if multiple placeholders cannot be distinguished by just the
placeholder
identifier.static BindMarkersFactory indexed(String prefix, int beginWith)
BindMarkers
using indexes to bind parameters.
Allows customization of the bind marker placeholder prefix
to
represent the bind marker as placeholder within the query.prefix
- bind parameter prefix that is included in
BindMarker.getPlaceholder()
but not the actual identifierbeginWith
- the first index to useBindMarkersFactory
using prefix
and beginWith
Statement.bindNull(int, Class)
,
Statement.bind(int, Object)
static BindMarkersFactory anonymous(String placeholder)
placeholder
- parameter placeholderBindMarkersFactory
using placeholder
Statement.bindNull(int, Class)
,
Statement.bind(int, Object)
static BindMarkersFactory named(String prefix, String namePrefix, int maxLength)
BindMarkers
using identifiers to bind parameters.
Named bind markers can support name hints
.
If no hint
is given, named bind markers can
use a counter or a random value source to generate unique bind markers.
Allows customization of the bind marker placeholder prefix
and
namePrefix
to represent the bind marker as placeholder within
the query.prefix
- bind parameter prefix that is included in
BindMarker.getPlaceholder()
but not the actual identifiernamePrefix
- prefix for bind marker name that is included in
BindMarker.getPlaceholder()
and the actual identifiermaxLength
- maximal length of parameter names when using name hintsBindMarkersFactory
using prefix
and beginWith
Statement.bindNull(String, Class)
,
Statement.bind(String, Object)
static BindMarkersFactory named(String prefix, String namePrefix, int maxLength, Function<String,String> hintFilterFunction)
BindMarkers
using identifiers to bind parameters.
Named bind markers support name hints
.
If no hint
is given, named bind markers
can use a counter or a random value source to generate unique bind markers.prefix
- bind parameter prefix that is included in
BindMarker.getPlaceholder()
but not the actual identifiernamePrefix
- prefix for bind marker name that is included in
BindMarker.getPlaceholder()
and the actual identifiermaxLength
- maximal length of parameter names when using name hintshintFilterFunction
- filter Function
to consider
database-specific limitations in bind marker/variable names such as ASCII chars onlyBindMarkersFactory
using prefix
and beginWith
Statement.bindNull(String, Class)
,
Statement.bind(String, Object)