From 476368d24c0ac3f9fc0403bba8b91ae02cc2aa39 Mon Sep 17 00:00:00 2001 From: h908714124 Date: Tue, 5 Mar 2024 11:57:21 +0100 Subject: [PATCH] Update README.md (#36) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 85a72a53..e503d129 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,11 @@ so it doesn't use runtime reflection, but generates a custom parser at compile t Create an abstract class, or alternatively a Java interface, and add the `@Command` annotation. -In this so-called *command class*, each abstract method +In this so-called *command class*, each abstract method represents a command line option or argument. +Every such method must have -* must return *something* (not `void`), -* must have *no* arguments, and -* must be annotated with either `@Option`, `@Parameter` or `@VarargsParameter`. +* getter signature (doesn't return `void`, takes no arguments) and +* annotation (either `@Option`, `@Parameter` or `@VarargsParameter`). The *multiplicity* of options and parameters is determined by the *return type* of their declaring method. The types `boolean`, `List` and `Optional` (including `OptionalInt`, yada yada) have a special meaning.