package com.hypnoticocelot.jaxrs.doclet.apidocs;
import com.sun.javadoc.RootDoc;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Options;
import com.sun.tools.javadoc.JavadocTool;
import com.sun.tools.javadoc.Messager;
import com.sun.tools.javadoc.ModifierFilter;
import java.io.IOException;
public class RootDocLoader {
private RootDocLoader() {
}
public static RootDoc fromPath(String path, String subpackage) throws IOException {
final Context context = new Context();
Options.instance(context).put("-sourcepath", path);
Messager.preRegister(context, "Messager!");
final ListBuffer<String> subPackages = new ListBuffer<String>();
subPackages.append(subpackage);
final JavadocTool javaDoc = JavadocTool.make0(context);
return javaDoc.getRootDocImpl(
"",
null,
new ModifierFilter(ModifierFilter.ALL_ACCESS),
new ListBuffer<String>().toList(),
new ListBuffer<String[]>().toList(),
false,
subPackages.toList(),
new ListBuffer<String>().toList(),
false, false, false
);
}
}