Clad TODO: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
(Created page with "Tactical TODO • Define how users can extend their configuration – the user application will most likely need global options of their own. o An application must declare it...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Tactical TODO
=Internal=


• Define how users can extend their configuration – the user application will most likely need global options of their own.
* [[clad Development]]
o An application must declare its global options so we know the literals (short or long).


Long Term TODO
=TODO=


• 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.
* 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);
o 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.
* 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.

Latest revision as of 21:50, 17 November 2016

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.