001package org.avaje.classpath.scanner;
002
003import java.util.List;
004
005/**
006 * Scans the class path for resources or classes.
007 */
008public interface ClassPathScanner {
009
010  /**
011   * Scan for file resources using the starting location and filter.
012   *
013   * @param location The path location from which the scan will start.
014   * @param filter   The filter used to match resources.
015   * @return The list of resources found that match our filter.
016   */
017  List<Resource> scanForResources(String location, ResourceFilter filter);
018
019  /**
020   * Scan of classes using the starting package and filter.
021   *
022   * @param location The package location from which the scan will start.
023   * @param filter   The filter used to match classes.
024   * @return The list of classes found that match our filter.
025   */
026  List<Class<?>> scanForClasses(String location, ClassFilter filter);
027}