Class LazyClientIdentityIterator
java.lang.Object
org.apache.sshd.client.config.keys.LazyClientIdentityIterator
Wraps several
ClientIdentityProvider
into a KeyPair
Iterator
that invokes each provider
"lazily" - i.e., only when Iterator.hasNext()
is invoked. This prevents password protected private
keys to be decrypted until they are actually needed.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected KeyPair
protected boolean
private final Function
<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> private final Iterator
<? extends ClientIdentityProvider> -
Constructor Summary
ConstructorsConstructorDescriptionLazyClientIdentityIterator
(Iterator<? extends ClientIdentityProvider> providers, Function<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> kpExtractor, Predicate<KeyPair> filter) -
Method Summary
Modifier and TypeMethodDescriptionFunction
<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> Iterator
<? extends ClientIdentityProvider> boolean
hasNext()
next()
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
-
Field Details
-
finished
protected boolean finished -
currentIdentities
-
currentPair
-
providers
-
kpExtractor
-
filter
-
-
Constructor Details
-
LazyClientIdentityIterator
public LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> providers, Function<? super ClientIdentityProvider, ? extends Iterable<KeyPair>> kpExtractor, Predicate<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 Details
-
getProviders
-
getIdentitiesExtractor
public Function<? super ClientIdentityProvider,? extends Iterable<KeyPair>> getIdentitiesExtractor() -
getFilter
-
hasNext
public boolean hasNext() -
next
-
toString
-