| package org.bouncycastle.util; |
| |
| import java.util.ArrayList; |
| import java.util.Collection; |
| import java.util.Iterator; |
| import java.util.List; |
| |
| /** |
| * A simple collection backed store. |
| */ |
| public class CollectionStore |
| implements Store |
| { |
| private Collection _local; |
| |
| /** |
| * Basic constructor. |
| * |
| * @param collection - initial contents for the store, this is copied. |
| */ |
| public CollectionStore( |
| Collection collection) |
| { |
| _local = new ArrayList(collection); |
| } |
| |
| /** |
| * Return the matches in the collection for the passed in selector. |
| * |
| * @param selector the selector to match against. |
| * @return a possibly empty collection of matching objects. |
| */ |
| public Collection getMatches(Selector selector) |
| { |
| if (selector == null) |
| { |
| return new ArrayList(_local); |
| } |
| else |
| { |
| List col = new ArrayList(); |
| Iterator iter = _local.iterator(); |
| |
| while (iter.hasNext()) |
| { |
| Object obj = iter.next(); |
| |
| if (selector.match(obj)) |
| { |
| col.add(obj); |
| } |
| } |
| |
| return col; |
| } |
| } |
| } |