public abstract class ServerCredentials extends Object
ServerCredentials
; the consumer of the credential (the server)
must support each implementation explicitly and separately. Consumers are not required to support
all types or even all possible configurations for types that are partially supported, but they
must at least fully support ChoiceServerCredentials
.
A ServerCredential
provides server identity. They can also influence types of
encryption used and similar security configuration.
The concrete credential type should not be relevant to most users of the API and may be an
implementation decision. Users should generally use the ServerCredentials
type for
variables instead of the concrete type. Freshly-constructed credentials should be returned as
ServerCredentials
instead of a concrete type to encourage this pattern. Concrete types
would only be used after instanceof
checks (which must consider
ChoiceServerCredentials
!).