Class LazyClientIdentityIterator
- java.lang.Object
-
- org.apache.sshd.client.config.keys.LazyClientIdentityIterator
-
public class LazyClientIdentityIterator extends Object implements Iterator<KeyPair>
Wraps severalClientIdentityProviderinto aKeyPairIteratorthat invokes each provider "lazily" - i.e., only whenIterator.hasNext()is invoked. This prevents password protected private keys to be decrypted until they are actually needed.- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description protected Iterator<? extends KeyPair>currentIdentitiesprotected KeyPaircurrentPairprotected booleanfinished
-
Constructor Summary
Constructors Constructor Description LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> providers, Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> kpExtractor, Predicate<? super KeyPair> filter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Predicate<? super KeyPair>getFilter()Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>>getIdentitiesExtractor()Iterator<? extends ClientIdentityProvider>getProviders()booleanhasNext()KeyPairnext()StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
-
-
-
Constructor Detail
-
LazyClientIdentityIterator
public LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> providers, Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> kpExtractor, Predicate<? super KeyPair> filter)
- Parameters:
providers- The providers - ignored ifnullkpExtractor- The (nevernull) extractor of theKeyPairfrom theClientIdentityProviderargument. If returned pair isnullthen next provider is queried.filter- Any further filter to apply on (non-null) key pairs before returning it as theIterator.next()result.
-
-
Method Detail
-
getProviders
public Iterator<? extends ClientIdentityProvider> getProviders()
-
getIdentitiesExtractor
public Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> getIdentitiesExtractor()
-
-