package org.pitest.util; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Collection; import org.pitest.classinfo.ClassByteArraySource; import org.pitest.classpath.ClassPath; import org.pitest.classpath.ClassPathRoot; import org.pitest.functional.Option; public class ResourceFolderByteArraySource implements ClassByteArraySource { @Override public Option<byte[]> getBytes(final String classname) { final ClassPath cp = new ClassPath(new ResourceFolderClassPathroot()); try { return Option.some(cp.getClassData(classname)); } catch (final IOException ex) { throw Unchecked.translateCheckedException(ex); } } } class ResourceFolderClassPathroot implements ClassPathRoot { @Override public URL getResource(final String name) throws MalformedURLException { return null; } @Override public InputStream getData(final String name) throws IOException { final String path = "sampleClasses/" + name.replace(".", "/") + ".class.bin"; return IsolationUtils.getContextClassLoader().getResourceAsStream(path); } @Override public Collection<String> classNames() { return null; } @Override public Option<String> cacheLocation() { return null; } }