Annotation Interface ParametersDelegate


@Retention(RUNTIME) @Target(FIELD) public @interface ParametersDelegate

When applied to a field all of its child fields annotated with Parameter will be included during arguments parsing.

Mainly useful when creating complex command based CLI interfaces, where several commands can share a set of arguments, but using object inheritance is not enough, due to no-multiple-inheritance restriction. Using ParametersDelegate any number of command sets can be shared by using composition pattern.

Delegations can be chained (nested).