View Javadoc
1   package org.cyclopsgroup.jcli.impl;
2   
3   import javax.annotation.Nullable;
4   import org.cyclopsgroup.jcli.annotation.Cli;
5   
6   /**
7    * Annotation based Cli implementation
8    *
9    * @author <a href="mailto:jiaqi@cyclopsgroup.org">Jiaqi Guo</a>
10   */
11  class AnnotationCli implements org.cyclopsgroup.jcli.spi.Cli {
12    @Nullable
13    private final Cli cli;
14  
15    private final boolean undefined;
16  
17    /**
18     * @param cli Annotation cli
19     */
20    AnnotationCli(Cli cli) {
21      this.cli = cli;
22      this.undefined = cli == null;
23    }
24  
25    @Override
26    public String getDescription() {
27      return undefined ? null : cli.description();
28    }
29  
30    @Override
31    public String getName() {
32      return undefined ? null : cli.name();
33    }
34  
35    @Override
36    public String getNote() {
37      return undefined ? null : cli.note();
38    }
39  }