Module java.base
Package java.security.cert

# Class CollectionCertStoreParameters

java.lang.Object
java.security.cert.CollectionCertStoreParameters

All Implemented Interfaces:
  `Cloneable`, `CertStoreParameters`

    public class CollectionCertStoreParameters
    extends Object
    implements CertStoreParameters

Parameters used as input for the Collection `CertStore` algorithm.

This class is used to provide necessary configuration parameters to implementations of the Collection `CertStore` algorithm. The only parameter included in this class is the `Collection` from which the `CertStore` will retrieve certificates and CRLs.

Concurrent Access

Unless otherwise specified, the methods defined in this class are not thread-safe. Multiple threads that need to access a single object concurrently should synchronize amongst themselves and provide the necessary locking. Multiple threads each manipulating separate objects need not synchronize.

Since:
  1.4
See Also:
  `Collection`, `CertStore`

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`CollectionCertStoreParameters()` | Creates an instance of `CollectionCertStoreParameters` with the default parameter values (an empty and immutable `Collection`).
`CollectionCertStoreParameters​(Collection<?> collection)` | Creates an instance of `CollectionCertStoreParameters` which will allow certificates and CRLs to be retrieved from the specified `Collection`.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`Object` | `clone()` | Returns a copy of this object.
`Collection<?>` | `getCollection()` | Returns the `Collection` from which `Certificate`s and `CRL`s are retrieved.
`String` | `toString()` | Returns a formatted string describing the parameters.

### Methods declared in class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### CollectionCertStoreParameters

public CollectionCertStoreParameters​(Collection<?> collection)
Creates an instance of `CollectionCertStoreParameters` which will allow certificates and CRLs to be retrieved from the specified `Collection`. If the specified `Collection` contains an object that is not a `Certificate` or `CRL`, that object will be ignored by the Collection `CertStore`.

The `Collection` is not copied. Instead, a reference is used. This allows the caller to subsequently add or remove `Certificates` or `CRL`s from the `Collection`, thus changing the set of `Certificates` or `CRL`s available to the Collection `CertStore`. The Collection `CertStore` will not modify the contents of the `Collection`.

If the `Collection` will be modified by one thread while another thread is calling a method of a Collection `CertStore` that has been initialized with this `Collection`, the `Collection` must have fail-fast iterators.

Parameters:
  `collection` - a `Collection` of `Certificate`s and `CRL`s
Throws:
  `NullPointerException` - if `collection` is `null`

### CollectionCertStoreParameters

public CollectionCertStoreParameters()
Creates an instance of `CollectionCertStoreParameters` with the default parameter values (an empty and immutable `Collection`).

## Method Details

### getCollection

public Collection<?> getCollection()
Returns the `Collection` from which `Certificate`s and `CRL`s are retrieved. This is not a copy of the `Collection`, it is a reference. This allows the caller to subsequently add or remove `Certificates` or `CRL`s from the `Collection`.

Returns:
  the `Collection` (never null)

### clone

public Object clone()
Returns a copy of this object. Note that only a reference to the `Collection` is copied, and not the contents.

Specified by:
  `clone` in interface `CertStoreParameters`
Overrides:
  `clone` in class `Object`
Returns:
  the copy
See Also:
  `Cloneable`

### toString

public String toString()
Returns a formatted string describing the parameters.

Overrides:
  `toString` in class `Object`
Returns:
  a formatted string describing the parameters