public Collection < T > find ( Class < ? extends Execution > cls , Map < String , Object > criteria ) throws PersistenceException { logger . debug ( "enter - find(Class,Map)" ) ; try { Collection < String > keys = criteria . keySet ( ) ; SearchTerm [ ] terms = new SearchTerm [ keys . size ( ) ] ; int i = 0 ; for ( String key : keys ) { terms [ i ++ ] = new SearchTerm ( key , Operator . EQUALS , criteria . get ( key ) ) ; } return load ( cls , null , terms ) ; } finally { logger . debug ( "exit - find(Class,Map)" ) ; } }
Executes an arbitrary search using the passed in search class and criteria . This is useful for searches that simply do not fit well into the rest of the API .