001package cpw.mods.fml.common.discovery; 002 003import java.util.List; 004 005import com.google.common.base.Throwables; 006 007import cpw.mods.fml.common.ModContainer; 008 009public enum ContainerType 010{ 011 JAR(JarDiscoverer.class), 012 DIR(DirectoryDiscoverer.class); 013 014 private ITypeDiscoverer discoverer; 015 016 private ContainerType(Class<? extends ITypeDiscoverer> discovererClass) 017 { 018 try 019 { 020 this.discoverer = discovererClass.newInstance(); 021 } 022 catch (Exception e) 023 { 024 throw Throwables.propagate(e); 025 } 026 } 027 028 public List<ModContainer> findMods(ModCandidate candidate, ASMDataTable table) 029 { 030 return discoverer.discover(candidate, table); 031 } 032}