Package org.pgpainless.util.selection.keyring

# Interface KeyRingSelectionStrategy<R,C,O>

Type Parameters:
  `R` - Type of `PGPKeyRing` (`PGPSecretKeyRing` or `PGPPublicKeyRing`).
  `C` - Type of key ring collection (e.g. `PGPSecretKeyRingCollection` or `PGPPublicKeyRingCollection`).
  `O` - Type of key identifier

All Known Implementing Classes:
  `ExactUserId.PubRingSelectionStrategy`, `ExactUserId.SecRingSelectionStrategy`, `PublicKeyRingSelectionStrategy`, `SecretKeyRingSelectionStrategy`, `Whitelist.PubRingSelectionStrategy`, `Whitelist.SecRingSelectionStrategy`, `Wildcard.PubRingSelectionStrategy`, `Wildcard.SecRingSelectionStrategy`, `XMPP.PubRingSelectionStrategy`, `XMPP.SecRingSelectionStrategy`

public interface KeyRingSelectionStrategy<R,C,O>
Filter for selecting public / secret key rings based on identifiers (e.g. user-ids).

## Method Summary

Modifier and Type
Method
Description
`boolean`
`accept(O identifier, R keyRing)`
Return true, if the filter accepts the given
`Set<R>`
`selectKeyRingsFromCollection(O identifier, C keyRingCollection)`
Iterate of the given
`MultiMap<O,R>`
`selectKeyRingsFromCollections(MultiMap<O,C> keyRingCollections)`
Iterate over all keyRings in the given `MultiMap` of keyRingCollections and return a new `MultiMap` which for every identifier (key of the map) contains all acceptable keyRings based on that identifier.

## Method Details

### accept

boolean accept(O identifier, R keyRing)
Return true, if the filter accepts the given

    keyRing

based on the given

    identifier

.

Parameters:
  `identifier` - identifier
  `keyRing` - key ring
Returns:
  acceptance

### selectKeyRingsFromCollection

Set<R> selectKeyRingsFromCollection(O identifier, C keyRingCollection)
Iterate of the given

    keyRingCollection

and return a `Set` of all acceptable keyRings in the collection, based on the given

    identifier

.

Parameters:
  `identifier` - identifier
  `keyRingCollection` - collection
Returns:
  set of acceptable key rings

### selectKeyRingsFromCollections

MultiMap<O,R> selectKeyRingsFromCollections(MultiMap<O,C> keyRingCollections)
Iterate over all keyRings in the given `MultiMap` of keyRingCollections and return a new `MultiMap` which for every identifier (key of the map) contains all acceptable keyRings based on that identifier.

Parameters:
  `keyRingCollections` - MultiMap of identifiers and keyRingCollections.
Returns:
  MultiMap of identifiers and acceptable keyRings.