116f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giropackage org.bouncycastle.util; 216f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro 3bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro/** 4bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * Interface a selector from a store should conform to. 5bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * 6bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * @param <T> the type stored in the store. 7bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro */ 853b61f9fe9d58034fcc7021137e92460f91b70ceSergio Giropublic interface Selector<T> 916f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro extends Cloneable 1016f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro{ 11bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro /** 12bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * Match the passed in object, returning true if it would be selected by this selector, false otherwise. 13bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * 14bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * @param obj the object to be matched. 15bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro * @return true if the object is a match for this selector, false otherwise. 16bdb7b3d37025690a0434040b4e0d0623d9fa74afSergio Giro */ 1753b61f9fe9d58034fcc7021137e92460f91b70ceSergio Giro boolean match(T obj); 1816f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro 1916f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro Object clone(); 2016f9ee464b68937f45d009d9c1b0eb9b544a8deeSergio Giro} 21