package me.tomassetti.turin.resolvers.compiled; import javassist.ClassPool; import javassist.CtClass; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; class DirClassesClasspathElement implements ClasspathElement { private File file; private String path; public DirClassesClasspathElement(File file, String path) { this.file = file; this.path = path; } @Override public InputStream toInputStream() throws IOException { return new FileInputStream(file); } @Override public CtClass toCtClass() throws IOException { InputStream is = toInputStream(); ClassPool classPool = ClassPoolFactory.INSTANCE.getClassPool(); CtClass ctClass = classPool.makeClass(is); return ctClass; } @Override public URL toURL() { String urlContent = "file:"+file.getAbsolutePath(); try { return new URL(urlContent); } catch (MalformedURLException e) { throw new RuntimeException("URL was: " + urlContent, e); } } }