public interface UsernameProvider extends OracleResourceProvider
A provider of usernames for authentication with Oracle Database.
The
oracle.jdbc.provider.username
connection property identifies the name of a
UsernameProvider
implementation. Connection properties under the
namespace of oracle.jdbc.provider.username
configure any
parameters that an implementation defines. To illustrate, the connection
properties below would identify a provider named "example-provider", and
configure a parameter named "vaultId":
oracle.jdbc.provider.username=example-provider oracle.jdbc.provider.username.vaultId=9999-8888-7777
ServiceLoader
locates implementations of
UsernameProvider
declared by a
META-INF/services/oracle.jdbc.spi.UsernameProvider
file in
the class path, or by a module-info.java
file with a
"provides oracle.jdbc.spi.UsernameProvider
" directive
in the module path. Typically, these files are distributed within a jar file
that contains a UsernameProvider
implementation.
OracleResourceProvider.Parameter
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getUsername(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)
Returns a username for authentication with Oracle Database.
|
getName, getParameters
java.lang.String getUsername(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)
Returns a username for authentication with Oracle Database.
The parameterValues
passed to this method is a Map
comprised as follows:
Parameter
objects returned by an invocation of
OracleResourceProvider.getParameters()
on this provider.
Map
contains the default value of that
Parameter
, if any. If the parameter has no default value, then the
map does not contain an entry for that Parameter
.
Map
does not contain entries having null values.
parameterValues
Map
may contain a CharSequence
having a
security sensitive value. After this
method returns, the caller may wipe the contents of these
CharSequence
values from memory. Implementations of this method
should not retain a reference to these CharSequence
objects.
parameterValues
- Parameters
configured by connection properties
. Not null. May be empty.java.lang.IllegalArgumentException
- If the value of a parameter can not be
parsed or interpreted.java.lang.IllegalStateException
- If an implementation-specific failure
prevents a resource from being provided.