View Javadoc
1   package org.jadira.scanner.core.api;
2   
3   import java.util.List;
4   
5   public interface Resolver<T, E, A> {
6   
7   	/**
8   	 * Resolve the first match
9   	 * @param locator Locator to be used
10  	 * @param projector Projector to be used
11  	 * @param filter Zero or more filters to be used
12  	 * @return The first match
13  	 */
14  	T resolveFirst(Locator<A> locator, Projector<E> projector, Filter<?>... filter);
15  	
16  	/**
17  	 * Resolve all matches up to limit
18  	 * @param limit The maximum number of results to match
19  	 * @param locator Locator to be used
20  	 * @param projector Projector to be used
21  	 * @param filter Zero or more filters to be used
22  	 * @return The first match
23  	 */
24  	List<? extends T> resolve(Integer limit, Locator<A> locator, Projector<E> projector, Filter<?>... filter);
25  	
26  	/**
27  	 * Resolve all matches
28  	 * @param locator Locator to be used
29  	 * @param projector Projector to be used
30  	 * @param filter Zero or more filters to be used
31  	 * @return The first match
32  	 */
33  	List<? extends T> resolveAll(Locator<A> locator, Projector<E> projector, Filter<?>... filter);
34  }