package xapi.javac.dev.model;
import xapi.annotation.inject.InstanceDefault;
import xapi.collect.X_Collect;
import xapi.collect.api.StringTo;
import xapi.javac.dev.api.JavacService;
/**
* A collection of {@link JavaDocument}s.
*
* @author James X. Nelson (james@wetheinter.net)
* Created on 4/9/16.
*/
@InstanceDefault(implFor = JavaLibrary.class)
public class JavaLibrary {
private final StringTo<JavaDocument> cache;
public JavaLibrary() {
this(X_Collect.newStringMap(JavaDocument.class));
}
public JavaLibrary(StringTo<JavaDocument> cache) {this.cache = cache;}
public void initialize(JavacService service) {
service.getCompilerService().peekOnCompiledUnits(cache.adapter(JavaDocument::getTypeName));
}
}