Skip to content
Dmitry Sidorenko edited this page Jun 2, 2011 · 6 revisions

Goal

Reasoning

There are quite a lot of command line parsing libraries. While they do their job well, I found that I need something even simplier. Some libraries require implementing interfaces, some generate an object representing arguments which I still have to interpret. Some have complex configuration phase, where I have to set up all the details the library requires.

I dreamed of a library which would parse command line for me, inject option values into my main program instance and call methods - all automagically.

See HelloWorld for simple example.

Principles

  • Minimal clutter
  • Conventions and annotations driven
  • Do not provide "universal answer to all". Be realistic

Goals

  • Easy to use
  • Do not require to implement interfaces
  • Annotation driven
  • Sensible defaults if no annotations are present
  • Minimal extra libraries dependency