|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.sandev.generator.GenDriverDoclet
Bridge between the SAND build, the doclet API, and the SandGenerator
API. We access the SandBuildDriver for what needs to be done, and
provide the ClassDocs to each of the generators.
Notes:
| Constructor Summary | |
GenDriverDoclet()
|
|
| Method Summary | |
protected static void |
callGenerator(org.sandev.sandbuild.SandGenDecl sgd,
org.sandev.sandbuild.SandDecl[] decls,
org.sandev.sandbuild.SandProject proj,
org.sandev.sandbuild.SandBuildDriver sbd)
Call the build method of the given generator, with the given array of declarations. |
static void |
dumpClassDocs(com.sun.javadoc.ClassDoc[] classes)
Dump out the given ClassDocs for debug purposes. |
protected static void |
runGenerator(org.sandev.sandbuild.SandGenDecl sgd,
org.sandev.sandbuild.SandProject proj,
org.sandev.sandbuild.SandBuildDriver sbd)
Call the given generator |
static void |
runGenerators(org.sandev.sandbuild.SandBuildDriver sbd,
org.sandev.sandbuild.SandProject proj)
Walk the global collection of generators, calling all those with with global runscope or local runscope matching the current project. |
static void |
setUpClassDocs(org.sandev.sandbuild.SandBuildDriver sbd,
com.sun.javadoc.ClassDoc[] classes)
Init the ClassDoc references for all the SandDecls held in SandBuildDriver. |
static boolean |
start(com.sun.javadoc.RootDoc root)
Doclet entry point. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public GenDriverDoclet()
| Method Detail |
public static boolean start(com.sun.javadoc.RootDoc root)
public static void setUpClassDocs(org.sandev.sandbuild.SandBuildDriver sbd,
com.sun.javadoc.ClassDoc[] classes)
throws org.sandev.sandbuild.SandBuildException
The smart way is to sort the classes and the SandDecls on
the qualified name first, then walk both lists in order. That's
2x NlgN + N so 3N2lgN which is NlgN. Doing it via linear lookup
each time is Nsquared. Given that N is relatively small and there
is other overhead (including allocations) for sorting, I'm not
sure how much this really matters. So doing this simplistic
way for now.
org.sandev.sandbuild.SandBuildExceptionpublic static void dumpClassDocs(com.sun.javadoc.ClassDoc[] classes)
public static void runGenerators(org.sandev.sandbuild.SandBuildDriver sbd,
org.sandev.sandbuild.SandProject proj)
throws org.sandev.sandbuild.SandBuildException
org.sandev.sandbuild.SandBuildException
protected static void runGenerator(org.sandev.sandbuild.SandGenDecl sgd,
org.sandev.sandbuild.SandProject proj,
org.sandev.sandbuild.SandBuildDriver sbd)
throws org.sandev.sandbuild.SandBuildException
org.sandev.sandbuild.SandBuildException
protected static void callGenerator(org.sandev.sandbuild.SandGenDecl sgd,
org.sandev.sandbuild.SandDecl[] decls,
org.sandev.sandbuild.SandProject proj,
org.sandev.sandbuild.SandBuildDriver sbd)
throws org.sandev.sandbuild.SandBuildException
org.sandev.sandbuild.SandBuildException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||