Clad TODO

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

TODO

  • 11/17/16 ApplicationRuntime must allow access to the Configuration instance, so instead of sending two references down, we send just one - the ApplicationRuntime reference. Command.execute(Configuration configuration, ApplicationRuntime runtime) must become Command.execute(ApplicationRuntime runtime);
  • Define how users can extend their configuration – the user application will most likely need global options of their own.
    • An application must declare its global options so we know the literals (short or long).
  • Currently we look for classes based on their name (*Command and *ApplicationRuntime). Use annotations or look inside the class for to see if they implement Command or ApplicationRuntime. ApplicationRuntime callback should be annotated instead of being interface methods. However, keep the framework backward compatible, old API users should keep working.
    • In order to find the ApplicationRuntime, we need to set “application.name” system property. This is awkward, we need to get rid of it. Annotations is probably best.
  • Define a configurable convention for a default command if none is specified, if I feel the need. Currently is hardcoded in the application runtime: ApplicationRuntime.getDefaultCommandName(). It’s probably sufficient.