content: package ro.isdc.wro.model.resource.locator.support;
  
  import java.util.Map;
  import java.util.TreeMap;
  
  import ro.isdc.wro.model.resource.locator.ClasspathUriLocator;
  import ro.isdc.wro.model.resource.locator.ServletContextUriLocator;
  import ro.isdc.wro.model.resource.locator.ServletContextUriLocator.LocatorStrategy;
  import ro.isdc.wro.model.resource.locator.UriLocator;
  import ro.isdc.wro.model.resource.locator.UrlUriLocator;
  import ro.isdc.wro.util.Ordered;
  
  
  /**
   * Default implementation of {@link LocatorProvider} providing all {@link UriLocator} implementations from core module.
   *
   * @author Alex Objelean
   * @created 16 Jun 2012
   * @since 1.4.7
   */
  public class DefaultLocatorProvider
      implements LocatorProvider, Ordered {
    /**
     * {@inheritDoc}
     */
    public Map<String, UriLocator> provideLocators() {
      final Map<String, UriLocator> map = new TreeMap<String, UriLocator>();
      map.put(ClasspathUriLocator.ALIAS, new ClasspathUriLocator());
      map.put(ServletContextUriLocator.ALIAS, new ServletContextUriLocator());
      map.put(ServletContextUriLocator.ALIAS_DISPATCHER_FIRST,
          new ServletContextUriLocator().setLocatorStrategy(LocatorStrategy.DISPATCHER_FIRST));
      map.put(ServletContextUriLocator.ALIAS_SERVLET_CONTEXT_FIRST,
          new ServletContextUriLocator().setLocatorStrategy(LocatorStrategy.SERVLET_CONTEXT_FIRST));
      map.put(ServletContextUriLocator.ALIAS_SERVLET_CONTEXT_ONLY,
          new ServletContextUriLocator().setLocatorStrategy(LocatorStrategy.SERVLET_CONTEXT_ONLY));
      map.put(UrlUriLocator.ALIAS, new UrlUriLocator());
      return map;
    }
  
    public int getOrder() {
      return Ordered.LOWEST;
    }
  }
  