Class SaslFactories


  • public final class SaslFactories
    extends Object
    A utility class for discovering SASL client and server factories.
    Author:
    David M. Lloyd
    • Constructor Detail

      • SaslFactories

        private SaslFactories()
    • Method Detail

      • getElytronSaslClientFactory

        public static SaslClientFactory getElytronSaslClientFactory()
        Get a SASL client factory which returns an Elytron-provided mechanism.
        Returns:
        the SASL client factory (not null)
      • getElytronSaslServerFactory

        public static SaslServerFactory getElytronSaslServerFactory()
        Get a SASL server factory which returns an Elytron-provided mechanism.
        Returns:
        the SASL server factory (not null)
      • getSearchSaslClientFactory

        public static SaslClientFactory getSearchSaslClientFactory​(ClassLoader... classLoaders)
        Get a SASL client factory which searches all the given class loaders in order for mechanisms.
        Parameters:
        classLoaders - the class loaders to search
        Returns:
        the SASL client factory (not null)
      • getSearchSaslServerFactory

        public static SaslServerFactory getSearchSaslServerFactory​(ClassLoader... classLoaders)
        Get a SASL server factory which searches all the given class loaders in order for mechanisms.
        Parameters:
        classLoaders - the class loaders to search
        Returns:
        the SASL server factory (not null)
      • getProviderSaslClientFactory

        public static SecurityProviderSaslClientFactory getProviderSaslClientFactory()
        Get a SASL client factory which uses the currently installed security providers to locate mechanisms.
        Returns:
        the SASL client factory (not null)
      • getProviderSaslServerFactory

        public static SecurityProviderSaslServerFactory getProviderSaslServerFactory()
        Get a SASL server factory which uses the currently installed security providers to locate mechanisms.
        Returns:
        the SASL server factory (not null)
      • filterMechanismsByProvider

        static String[] filterMechanismsByProvider​(String[] orig,
                                                   int idx,
                                                   int len,
                                                   Provider currentProvider,
                                                   BiPredicate<String,​Provider> mechFilter)
        Efficiently, recursively filter mechanisms by provider. If the filter accepts all array elements, the original array is returned unchanged. If the filter accepts none of the array elements, an empty array is returned.
        Parameters:
        orig - the original mech array
        idx - the recursive read index (start from 0)
        len - the recursive write length (start from 0)
        currentProvider - the provider being tested
        mechFilter - the filter predicate
        Returns:
        the filtered array