@Internal public abstract class ManagedChannelProvider extends java.lang.Object
Implementations should not throw. If they do, it may interrupt class loading. If
exceptions may reasonably occur for implementation-specific reasons, implementations should
generally handle the exception gracefully and return false
from isAvailable()
.
Modifier and Type | Class | Description |
---|---|---|
static class |
ManagedChannelProvider.ProviderNotFoundException |
Thrown when no suitable
ManagedChannelProvider objects can be found. |
Constructor | Description |
---|---|
ManagedChannelProvider() |
Modifier and Type | Method | Description |
---|---|---|
protected abstract ManagedChannelBuilder<?> |
builderForAddress(java.lang.String name,
int port) |
Creates a new builder with the given host and port.
|
protected abstract ManagedChannelBuilder<?> |
builderForTarget(java.lang.String target) |
Creates a new builder with the given target URI.
|
protected abstract boolean |
isAvailable() |
Whether this provider is available for use, taking the current environment into consideration.
|
protected abstract int |
priority() |
A priority, from 0 to 10 that this provider should be used, taking the current environment into
consideration.
|
static ManagedChannelProvider |
provider() |
Returns the ClassLoader-wide default channel.
|
public static ManagedChannelProvider provider()
ManagedChannelProvider.ProviderNotFoundException
- if no provider is availableprotected abstract boolean isAvailable()
false
, no other methods are safe to be called.protected abstract int priority()
protected abstract ManagedChannelBuilder<?> builderForAddress(java.lang.String name, int port)
protected abstract ManagedChannelBuilder<?> builderForTarget(java.lang.String target)