59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Text;
|
|
|
|
namespace Org.BouncyCastle.X509.Store
|
|
{
|
|
/// <remarks>This class contains a collection for collection based <code>X509Store</code>s.</remarks>
|
|
public class X509CollectionStoreParameters
|
|
: IX509StoreParameters
|
|
{
|
|
private readonly ArrayList collection;
|
|
|
|
/// <summary>
|
|
/// Constructor.
|
|
/// <p>
|
|
/// The collection is copied.
|
|
/// </p>
|
|
/// </summary>
|
|
/// <param name="collection">The collection containing X.509 object types.</param>
|
|
/// <exception cref="ArgumentNullException">If collection is null.</exception>
|
|
public X509CollectionStoreParameters(
|
|
ICollection collection)
|
|
{
|
|
if (collection == null)
|
|
throw new ArgumentNullException("collection");
|
|
|
|
this.collection = new ArrayList(collection);
|
|
}
|
|
|
|
// TODO Do we need to be able to Clone() these, and should it really be shallow?
|
|
// /**
|
|
// * Returns a shallow clone. The returned contents are not copied, so adding
|
|
// * or removing objects will effect this.
|
|
// *
|
|
// * @return a shallow clone.
|
|
// */
|
|
// public object Clone()
|
|
// {
|
|
// return new X509CollectionStoreParameters(collection);
|
|
// }
|
|
|
|
/// <summary>Returns a copy of the <code>ICollection</code>.</summary>
|
|
public ICollection GetCollection()
|
|
{
|
|
return new ArrayList(collection);
|
|
}
|
|
|
|
/// <summary>Returns a formatted string describing the parameters.</summary>
|
|
public override string ToString()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append("X509CollectionStoreParameters: [\n");
|
|
sb.Append(" collection: " + collection + "\n");
|
|
sb.Append("]");
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
}
|