Interface NamedResource

All Known Subinterfaces:
BuiltinFactory<T>, CipherFactory, Compression, CompressionFactory, CompressionInformation, DigestFactory, Identity, IoResource<T>, KexExtensionParser<T>, MacFactory, NamedFactory<T>, OpenSSHKdfOptions, Property<T>, Random, RandomFactory, SecurityProviderChoice, SecurityProviderRegistrar, SignatureFactory, UserAuthInstance<S>, UserAuthMethodFactory<S,M>
All Known Implementing Classes:
AbstractIoResource, AbstractKexExtensionParser, AbstractRandom, AbstractRandomFactory, AbstractSecurityProviderRegistrar, BaseCompression, BCryptKdfOptions, BouncyCastleRandom, BouncyCastleRandomFactory, BouncyCastleSecurityProviderRegistrar, BuiltinCiphers, BuiltinCompressions, BuiltinDigests, BuiltinIdentities, BuiltinMacs, BuiltinSignatures, ClassLoaderResource, CompressionConfigValue, CompressionDelayedZlib, CompressionNone, CompressionZlib, DelayCompression, ECCurves, EdDSASecurityProviderRegistrar, Elevation, HostBoundPubkeyAuthentication, JceRandom, JceRandomFactory, KnownHostDigest, NoFlowControl, PathResource, Property.BaseProperty, Property.BooleanProperty, Property.CharsetProperty, Property.DurationInSecondsProperty, Property.DurationProperty, Property.EnumProperty, Property.IntegerProperty, Property.LongProperty, Property.ObjectProperty, Property.StringProperty, Property.Validating, RawKdfOptions, ServerSignatureAlgorithms, SingletonRandomFactory, SunJCESecurityProviderRegistrar, URIResource, URLResource
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 NamedResource
Author:
Apache MINA SSHD Project
  • Field Details

  • Method Details

    • getName

      String getName()
      Returns:
      The resource name
    • getNameList

      static List<String> getNameList(Collection<? extends NamedResource> resources)
      Parameters:
      resources - The named resources
      Returns:
      A List of all the factories names - in same order as they appear in the input collection
    • getNames

      static String getNames(Collection<? extends NamedResource> resources)
      Parameters:
      resources - list of available resources
      Returns:
      A comma separated list of factory names
    • removeByName

      static <R extends NamedResource> R removeByName(String name, Comparator<? super String> c, Collection<? extends R> resources)
      Remove the resource identified by the name from the list.
      Type Parameters:
      R - The generic resource type
      Parameters:
      name - Name of the resource - ignored if null/empty
      c - The Comparator to decide whether the getName() matches the name parameter
      resources - The NamedResource to check - ignored if null/empty
      Returns:
      the removed resource from the list or null if not in the list
    • findByName

      static <R extends NamedResource> R findByName(String name, Comparator<? super String> c, Collection<? extends R> resources)
      Type Parameters:
      R - The generic resource type
      Parameters:
      name - Name of the resource - ignored if null/empty
      c - The Comparator to decide whether the getName() matches the name parameter
      resources - The NamedResource to check - ignored if null/empty
      Returns:
      The first resource whose name matches the parameter (by invoking Comparator.compare(Object, Object) - null if no match found
    • findFirstMatchByName

      static <R extends NamedResource> R findFirstMatchByName(Collection<String> names, Comparator<? super String> c, Collection<? extends R> resources)
    • ofName

      static NamedResource ofName(String name)
      Wraps a name value inside a NamedResource
      Parameters:
      name - The name value to wrap
      Returns:
      The wrapper instance
    • safeCompareByName

      static int safeCompareByName(NamedResource r1, NamedResource r2, boolean caseSensitive)