Package io.grpc.xds

Class XdsCredentialsRegistry


  • @ThreadSafe
    final class XdsCredentialsRegistry
    extends java.lang.Object
    Registry of XdsCredentialsProviders. The default instance loads providers at runtime through the Java service provider mechanism.
    • Field Detail

      • logger

        private static final java.util.logging.Logger logger
      • effectiveProviders

        private com.google.common.collect.ImmutableMap<java.lang.String,​XdsCredentialsProvider> effectiveProviders
        Generated from allProviders. Is mapping from scheme key to the highest priority XdsCredentialsProvider. Is replaced instead of mutating.
    • Constructor Detail

      • XdsCredentialsRegistry

        XdsCredentialsRegistry()
    • Method Detail

      • register

        public void register​(XdsCredentialsProvider provider)
        Register a provider.

        If the provider's isAvailable() returns false, this method will throw IllegalArgumentException.

        Providers will be used in priority order. In case of ties, providers are used in registration order.

      • refreshProviders

        private void refreshProviders()
      • getDefaultRegistry

        public static XdsCredentialsRegistry getDefaultRegistry()
        Returns the default registry that loads providers via the Java service loader mechanism.
      • providers

        java.util.Map<java.lang.String,​XdsCredentialsProvider> providers()
        Returns effective providers map from scheme to the highest priority XdsCredsProvider of that scheme.
      • getProvider

        @Nullable
        public XdsCredentialsProvider getProvider​(java.lang.String name)
        Returns the effective provider for the given xds credential name, or null if no suitable provider can be found. Each provider declares its name via XdsCredentialsProvider.getName().
      • getHardCodedClasses

        static java.util.List<java.lang.Class<?>> getHardCodedClasses()