A utility for reading JavaDocs from a URL in a pseudo-high level fashion.
Example from JavaDoctorExample
final String url = "https://papermc.io/javadocs/paper/1.15/index-all.html";
// usages of the make function allow the application to continue in the current context without interruption due to IO
try (final JavaDoctor doctor = JavaDoctor.make(new URL(url)))
{
doctor.fetch();
final Optional<JavaDoctorObject> type = doctor.findType("Barrel");
final Optional<JavaDoctorObject> desc = doctor.findDesc(type);
System.out.println("Description of Barrel Interface: " + desc.flatMap(JavaDoctorObject::text).orElse("Unknown"));
}
catch (Exception ex)
{
ex.printStackTrace();
}
// usages of the exam function cause the doctor to immediately fetch the html document
// benefits being that by the time the context continues, the doctor can be used directly.
try (final JavaDoctor doctor = JavaDoctor.exam(new URL(url)))
{
final Optional<JavaDoctorObject> type = doctor.findType("BatToggleSleepEvent");
final Optional<JavaDoctorObject> desc = doctor.findDesc(type);
System.out.println("Description of BatToggleSleepEvent Class: " + desc.flatMap(JavaDoctorObject::text).orElse("Unknown"));
}
catch (Exception ex)
{
ex.printStackTrace();
}