Interface NamedFactory<T>

Type Parameters:
T - The create object instance type
All Superinterfaces:
Factory<T>, NamedResource, Supplier<T>
All Known Subinterfaces:
BuiltinFactory<T>, CipherFactory, CompressionFactory, DigestFactory, MacFactory, RandomFactory, SignatureFactory
All Known Implementing Classes:
AbstractRandomFactory, BouncyCastleRandomFactory, BuiltinCiphers, BuiltinCompressions, BuiltinDigests, BuiltinIoServiceFactoryFactories, BuiltinMacs, BuiltinSignatures, BuiltinUserAuthFactories, BuiltinUserAuthFactories, CompressionConfigValue, JceRandomFactory, KnownHostDigest, SingletonRandomFactory

public interface NamedFactory<T> extends Factory<T>, NamedResource
A named factory is a factory identified by a name. Such names are used mainly in the algorithm negotiation at the beginning of the SSH connection.
  • Method Details

    • create

      static <T> T create(Collection<? extends NamedFactory<? extends T>> factories, String name)
      Create an instance of the specified name by looking up the needed factory in the list.
      Type Parameters:
      T - type of object to create
      Parameters:
      factories - list of available factories
      name - the factory name to use
      Returns:
      a newly created object or null if the factory is not in the list
    • setUpTransformedFactories

      static <S extends OptionalFeature, E extends NamedResource> List<E> setUpTransformedFactories(boolean ignoreUnsupported, Collection<? extends S> preferred, Function<? super S,? extends E> xform)
      Converts a list of factories to a list of transformed factories, optionally excluding unsupported factories.
      Type Parameters:
      S - initial factory type
      E - transformed factory type
      Parameters:
      ignoreUnsupported - whether to filter out unsupported factories from preferred
      preferred - initial list to filter
      xform - the transformation to apply
      Returns:
      the filtered list of transformed factories
    • setUpBuiltinFactories

      static <E extends NamedResource & OptionalFeature> List<E> setUpBuiltinFactories(boolean ignoreUnsupported, Collection<? extends E> preferred)
      Filters out unsupported factories from a given list if ignoreUnsupported == true.
      Type Parameters:
      E - factory type
      Parameters:
      ignoreUnsupported - whether to filter out unsupported factories from preferred
      preferred - initial list to filter
      Returns:
      the filtered list of factories