Class LazyClientIdentityIterator
- java.lang.Object
-
- org.apache.sshd.client.config.keys.LazyClientIdentityIterator
-
- All Implemented Interfaces:
java.util.Iterator<java.security.KeyPair>
public class LazyClientIdentityIterator extends java.lang.Object implements java.util.Iterator<java.security.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.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Iterator<java.security.KeyPair>currentIdentitiesprotected java.security.KeyPaircurrentPairprivate java.util.function.Predicate<java.security.KeyPair>filterprotected booleanfinishedprivate java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>>kpExtractorprivate java.util.Iterator<? extends ClientIdentityProvider>providers
-
Constructor Summary
Constructors Constructor Description LazyClientIdentityIterator(java.util.Iterator<? extends ClientIdentityProvider> providers, java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>> kpExtractor, java.util.function.Predicate<java.security.KeyPair> filter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.function.Predicate<java.security.KeyPair>getFilter()java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>>getIdentitiesExtractor()java.util.Iterator<? extends ClientIdentityProvider>getProviders()booleanhasNext()java.security.KeyPairnext()java.lang.StringtoString()
-
-
-
Field Detail
-
finished
protected boolean finished
-
currentIdentities
protected java.util.Iterator<java.security.KeyPair> currentIdentities
-
currentPair
protected java.security.KeyPair currentPair
-
providers
private final java.util.Iterator<? extends ClientIdentityProvider> providers
-
kpExtractor
private final java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>> kpExtractor
-
filter
private final java.util.function.Predicate<java.security.KeyPair> filter
-
-
Constructor Detail
-
LazyClientIdentityIterator
public LazyClientIdentityIterator(java.util.Iterator<? extends ClientIdentityProvider> providers, java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>> kpExtractor, java.util.function.Predicate<java.security.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 java.util.Iterator<? extends ClientIdentityProvider> getProviders()
-
getIdentitiesExtractor
public java.util.function.Function<? super ClientIdentityProvider,? extends java.lang.Iterable<java.security.KeyPair>> getIdentitiesExtractor()
-
getFilter
public java.util.function.Predicate<java.security.KeyPair> getFilter()
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfacejava.util.Iterator<java.security.KeyPair>
-
next
public java.security.KeyPair next()
- Specified by:
nextin interfacejava.util.Iterator<java.security.KeyPair>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-