PADL Generator

In general, a code-level model can be obtain for a system through reverse-engineering/parsing using:

final ICodeLevelModel codeLevelModel =
   Factory.getInstance().createCodeLevelModel(<Name>);
codeLevelModel.create(
   new <A>Creator(
       <FileRepository>.getInstance(),
       new String[] { <Some files> }), <Recurse in directories>);

where:

Because all PADL creators are builders (as in the Builder design pattern) and conform to the same interface padl.kernel.ICodeLevelModelCreator provided by PADL, it is simple to provide a unified entry point for all of them. Also, the creation of interesting models often require the additional steps of:

  1. Annotating the models with information about lines of code;
  2. Annotating the models with information about conditional statements;
  3. Adding appropriate listeners (if desired);
  4. Handling special files, such as Eclipse .project files or AOL CLD files;

So, the class padl.generator.helper.ModelGenerator in the project PADL Generator provides this entry point and should be used unless there are compelling reasons not to do so. The direct use of a creator will throw a warning at run-time.