public class LazyClientIdentityIterator extends Object implements Iterator<KeyPair>
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.Modifier and Type | Field and Description |
---|---|
protected Iterator<? extends KeyPair> |
currentIdentities |
protected KeyPair |
currentPair |
protected boolean |
finished |
Constructor and Description |
---|
LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> providers,
Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> kpExtractor,
Predicate<? super KeyPair> filter) |
Modifier and Type | Method and Description |
---|---|
Predicate<? super KeyPair> |
getFilter() |
Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> |
getIdentitiesExtractor() |
Iterator<? extends ClientIdentityProvider> |
getProviders() |
boolean |
hasNext() |
KeyPair |
next() |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEachRemaining, remove
protected boolean finished
protected KeyPair currentPair
public LazyClientIdentityIterator(Iterator<? extends ClientIdentityProvider> providers, Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> kpExtractor, Predicate<? super KeyPair> filter)
providers
- The providers - ignored if null
kpExtractor
- The (never null
) extractor of the KeyPair
from the ClientIdentityProvider
argument. If returned pair is
null
then next provider is queried.filter
- Any further filter to apply on (non-null
) key pairs
before returning it as the Iterator.next()
result.public Iterator<? extends ClientIdentityProvider> getProviders()
public Function<? super ClientIdentityProvider,? extends Iterable<? extends KeyPair>> getIdentitiesExtractor()
Copyright © 2008–2022 The Apache Software Foundation. All rights reserved.