/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package java.security.cert; import java.util.Collection; import java.util.Collections; /** * The parameters to initialize a Collection type {@code CertStore} instance. *
* It is used to specify the {@code Collection} where the {@code CertStore} will
* retrieve the certificates and CRLs from.
*/
public class CollectionCertStoreParameters implements CertStoreParameters {
// Default empty and immutable collection.
// Used if CollectionCertStoreParameters
instance
// created by the no arg constructor
private static final Collection> defaultCollection = Collections.EMPTY_SET;
// A Collection
of Certificate
s
// and CRL
s
private final Collection> collection;
/**
* Creates a new {@code CollectionCertStoreParameters} without a collection.
*
* The default collection is an empty and unmodifiable {@code Collection}. */ public CollectionCertStoreParameters() { this.collection = defaultCollection; } /** * Creates a new {@code CollectionCertStoreParameters} with the specified * collection. *
* The specified collection is not copied and therefore may be modified at * any time. * * @param collection * the collection where the {@code Certificate}s and {@code CRL}s * will be retrieved from. * @throws NullPointerException * if {@code collection is null}. */ public CollectionCertStoreParameters(Collection> collection) { this.collection = collection; if (this.collection == null) { throw new NullPointerException(); } } /** * Clones this {@code CollectionCertStoreParameters} instance, but not the * underlying collection. * * @return the cloned instance. */ public Object clone() { try { return super.clone(); } catch (CloneNotSupportedException e) { return null; } } /** * Returns the collection where the {@code Certificate}s and {@code CRL}s * are retrieved from. * * @return the collection where the {@code Certificate}s and {@code CRL}s * will be retrieved from. */ public Collection> getCollection() { return collection; } /** * Returns the string representation of this instance. * * @return the string representation of this instance. */ public String toString() { StringBuilder sb = new StringBuilder("CollectionCertStoreParameters: [\ncollection: "); sb.append(getCollection().toString()); sb.append("\n]"); return sb.toString(); } }