1e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompackage org.bouncycastle.x509; 2e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 3e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.util.ArrayList; 4e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.util.Collection; 5e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 6e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom/** 7e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * This class contains a collection for collection based <code>X509Store</code>s. 8e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 9e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @see org.bouncycastle.x509.X509Store 10e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 11e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */ 12e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompublic class X509CollectionStoreParameters 13e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom implements X509StoreParameters 14e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom{ 15e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom private Collection collection; 16e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 17e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom /** 18e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * Constructor. 19e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * <p> 20e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * The collection is copied. 21e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * </p> 22e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 23e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @param collection 24e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * The collection containing X.509 object types. 25e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @throws NullPointerException if <code>collection</code> is <code>null</code>. 26e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */ 27e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom public X509CollectionStoreParameters(Collection collection) 28e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom { 29e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom if (collection == null) 30e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom { 31e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom throw new NullPointerException("collection cannot be null"); 32e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom } 33e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom this.collection = collection; 34e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom } 35e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 36e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom /** 37e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * Returns a shallow clone. The returned contents are not copied, so adding 38e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * or removing objects will effect this. 39e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 40e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @return a shallow clone. 41e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */ 42e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom public Object clone() 43e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom { 44e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom return new X509CollectionStoreParameters(collection); 45e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom } 46e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 47e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom /** 48e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * Returns a copy of the <code>Collection</code>. 49e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 50e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @return The <code>Collection</code>. Is never <code>null</code>. 51e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */ 52e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom public Collection getCollection() 53e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom { 54e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom return new ArrayList(collection); 55e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom } 56e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom 57e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom /** 58e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * Returns a formatted string describing the parameters. 59e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * 60e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * @return a formatted string describing the parameters 61e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */ 62e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom public String toString() 63e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom { 64e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom StringBuffer sb = new StringBuffer(); 65e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom sb.append("X509CollectionStoreParameters: [\n"); 66e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom sb.append(" collection: " + collection + "\n"); 67e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom sb.append("]"); 68e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom return sb.toString(); 69e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom } 70e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom} 71