Interface KeyTypeNamesSupport

All Known Subinterfaces:
Identity, IdentityResourceLoader<PUB,PRV>, KeyEntryResolver<PUB,PRV>, PrivateKeyEntryDecoder<PUB,PRV>, PublicKeyEntryDecoder<PUB,PRV>, PuttyKeyPairResourceParser<PUB,PRV>
All Known Implementing Classes:
AbstractIdentityResourceLoader, AbstractKeyEntryResolver, AbstractPrivateKeyEntryDecoder, AbstractPublicKeyEntryDecoder, AbstractPuttyKeyDecoder, BuiltinIdentities, DSSPublicKeyEntryDecoder, DSSPuttyKeyDecoder, ECDSAPublicKeyEntryDecoder, ECDSAPuttyKeyDecoder, Ed25519PublicKeyDecoder, EdDSAPuttyKeyDecoder, OpenSSHCertificateDecoder, OpenSSHDSSPrivateKeyEntryDecoder, OpenSSHECDSAPrivateKeyEntryDecoder, OpenSSHEd25519PrivateKeyEntryDecoder, OpenSSHRSAPrivateKeyDecoder, RSAPublicKeyDecoder, RSAPuttyKeyDecoder, SkECDSAPublicKeyEntryDecoder, SkED25519PublicKeyEntryDecoder, Ssh2PublicKeyEntryDecoder
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface KeyTypeNamesSupport
TODO Add javadoc
  • Method Details

    • getSupportedKeyTypes

      NavigableSet<String> getSupportedKeyTypes()
      Returns:
      The case insensitive NavigableSet of OpenSSH key type names that are supported by this decoder - e.g., ssh-rsa, ssh-dss, ecdsa-sha2-nistp384. This is not a single name - e.g., ECDSA keys have several curve names. Caveat: this collection may be un-modifiable...
    • findSupporterByKeyTypeName

      static <S extends KeyTypeNamesSupport> S findSupporterByKeyTypeName(String typeName, Collection<? extends S> supporters)
      Type Parameters:
      S - Generic supporter type
      Parameters:
      typeName - The OpenSSH key type e.g., ssh-rsa, ssh-dss, ecdsa-sha2-nistp384. Ignored if null/empty.
      supporters - The KeyTypeNamesSupport-ers to query - ignored if null/empty.
      Returns:
      The first instance whose getSupportedKeyTypes() contains the type name.