Class LazyClientIdentityIterator
- java.lang.Object
-
- org.apache.sshd.client.config.keys.LazyClientIdentityIterator
-
public class LazyClientIdentityIterator extends Object implements Iterator<KeyPair>
Wraps severalClientIdentityProvider
into aKeyPair
Iterator
that 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>
currentIdentities
protected KeyPair
currentPair
protected boolean
finished
-
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()
boolean
hasNext()
KeyPair
next()
String
toString()
-
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 ifnull
kpExtractor
- The (nevernull
) extractor of theKeyPair
from theClientIdentityProvider
argument. If returned pair isnull
then 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()
-
-