diff --git a/pom.xml b/pom.xml
index 15e9f3f..4f98e6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
org.cyclopsgroup
cyclopsgroup-java-parent
- 0.7.3
+ 0.8.0
jcli
jcli
diff --git a/src/main/java/org/cyclopsgroup/jcli/ArgumentProcessor.java b/src/main/java/org/cyclopsgroup/jcli/ArgumentProcessor.java
index f86d75e..f78c150 100644
--- a/src/main/java/org/cyclopsgroup/jcli/ArgumentProcessor.java
+++ b/src/main/java/org/cyclopsgroup/jcli/ArgumentProcessor.java
@@ -55,7 +55,9 @@ public static ArgumentProcessor newInstance(Class beanType) {
return forType(beanType);
}
- /** @return Implementation of parsing context */
+ /**
+ * @return Implementation of parsing context
+ */
public abstract ParsingContext createParsingContext();
/**
diff --git a/src/main/java/org/cyclopsgroup/jcli/GnuParser.java b/src/main/java/org/cyclopsgroup/jcli/GnuParser.java
index ee1c593..c28689a 100644
--- a/src/main/java/org/cyclopsgroup/jcli/GnuParser.java
+++ b/src/main/java/org/cyclopsgroup/jcli/GnuParser.java
@@ -7,7 +7,9 @@
import org.cyclopsgroup.jcli.spi.Option;
import org.cyclopsgroup.jcli.spi.ParsingContext;
-/** @author Jiaqi Guo */
+/**
+ * @author Jiaqi Guo
+ */
public class GnuParser implements CommandLineParser {
@Override
public CommandLine parse(List arguments, ParsingContext context) {
diff --git a/src/main/java/org/cyclopsgroup/jcli/ValidationResult.java b/src/main/java/org/cyclopsgroup/jcli/ValidationResult.java
index c46a9ab..01abc57 100644
--- a/src/main/java/org/cyclopsgroup/jcli/ValidationResult.java
+++ b/src/main/java/org/cyclopsgroup/jcli/ValidationResult.java
@@ -14,7 +14,9 @@ public static final class ArgumentMissing extends Violation {}
public static final class OptionMissing extends Violation {
private final String optionName;
- /** @param optionName Name of missing option */
+ /**
+ * @param optionName Name of missing option
+ */
public OptionMissing(String optionName) {
this.optionName =
Preconditions.checkNotNull(optionName, "Name of missing option can't be null.");
@@ -34,7 +36,9 @@ public String getOptionName() {
public static final class UnexpectedOption extends Violation {
private final String optionName;
- /** @param optionName Name of unexpected option */
+ /**
+ * @param optionName Name of unexpected option
+ */
public UnexpectedOption(String optionName) {
this.optionName =
Preconditions.checkNotNull(optionName, "Name of missing option can't be null.");
@@ -76,7 +80,9 @@ public List getViolations() {
return Collections.unmodifiableList(violations);
}
- /** @return True if there is not violation */
+ /**
+ * @return True if there is not violation
+ */
public boolean isValid() {
return violations.isEmpty();
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/annotation/Argument.java b/src/main/java/org/cyclopsgroup/jcli/annotation/Argument.java
index 7473847..dc67ebc 100644
--- a/src/main/java/org/cyclopsgroup/jcli/annotation/Argument.java
+++ b/src/main/java/org/cyclopsgroup/jcli/annotation/Argument.java
@@ -16,9 +16,13 @@
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Argument {
- /** @return String description of argument which will be displayed in usage */
+ /**
+ * @return String description of argument which will be displayed in usage
+ */
String description() default "";
- /** @return Name of argument displayed in usage */
+ /**
+ * @return Name of argument displayed in usage
+ */
String displayName() default "arg";
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/annotation/Cli.java b/src/main/java/org/cyclopsgroup/jcli/annotation/Cli.java
index 0792f6e..59a8eb6 100644
--- a/src/main/java/org/cyclopsgroup/jcli/annotation/Cli.java
+++ b/src/main/java/org/cyclopsgroup/jcli/annotation/Cli.java
@@ -15,15 +15,23 @@
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Cli {
- /** @return String description of command */
+ /**
+ * @return String description of command
+ */
String description() default "";
- /** @return Name of command */
+ /**
+ * @return Name of command
+ */
String name();
- /** @return Note displayed as footer */
+ /**
+ * @return Note displayed as footer
+ */
String note() default "";
- /** @return True if unexpected option or argument is expected to cause error */
+ /**
+ * @return True if unexpected option or argument is expected to cause error
+ */
boolean restrict() default true;
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/annotation/MultiValue.java b/src/main/java/org/cyclopsgroup/jcli/annotation/MultiValue.java
index 8a77fd2..58b0403 100644
--- a/src/main/java/org/cyclopsgroup/jcli/annotation/MultiValue.java
+++ b/src/main/java/org/cyclopsgroup/jcli/annotation/MultiValue.java
@@ -16,15 +16,23 @@
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MultiValue {
- /** @return Type of list that contains values */
+ /**
+ * @return Type of list that contains values
+ */
Class> listType() default ArrayList.class;
- /** @return Max number of values in list. By default it's -1 that means unlimited */
+ /**
+ * @return Max number of values in list. By default it's -1 that means unlimited
+ */
int maxValues() default -1;
- /** @return Minimal number of values in list. By default it's 0 */
+ /**
+ * @return Minimal number of values in list. By default it's 0
+ */
int minValues() default 0;
- /** @return Type of value in list */
+ /**
+ * @return Type of value in list
+ */
Class> valueType() default String.class;
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/annotation/Option.java b/src/main/java/org/cyclopsgroup/jcli/annotation/Option.java
index 2223aa8..fc9f6b3 100644
--- a/src/main/java/org/cyclopsgroup/jcli/annotation/Option.java
+++ b/src/main/java/org/cyclopsgroup/jcli/annotation/Option.java
@@ -15,21 +15,33 @@
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Option {
- /** @return Default value of option */
+ /**
+ * @return Default value of option
+ */
String defaultValue() default "";
- /** @return String description of option which is displayed in usage */
+ /**
+ * @return String description of option which is displayed in usage
+ */
String description() default "";
- /** @return Display name of option */
+ /**
+ * @return Display name of option
+ */
String displayName() default "value";
- /** @return Long option name specified with double dash */
+ /**
+ * @return Long option name specified with double dash
+ */
String longName() default "";
- /** @return Short option name specified with single dash */
+ /**
+ * @return Short option name specified with single dash
+ */
String name();
- /** @return True if option has to be specified explicitly */
+ /**
+ * @return True if option has to be specified explicitly
+ */
boolean required() default false;
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/example/UserControl.java b/src/main/java/org/cyclopsgroup/jcli/example/UserControl.java
index 740d2df..42f7237 100644
--- a/src/main/java/org/cyclopsgroup/jcli/example/UserControl.java
+++ b/src/main/java/org/cyclopsgroup/jcli/example/UserControl.java
@@ -25,48 +25,64 @@ public class UserControl {
private List userNames;
- /** @return Enum field example */
+ /**
+ * @return Enum field example
+ */
@Option(name = "a", longName = "action", description = "Action to perform")
public final UserControlAction getAction() {
return action;
}
- /** @return A date example that needs customized conversion rule */
+ /**
+ * @return A date example that needs customized conversion rule
+ */
@DateField(format = "yyyyMMdd")
@Option(name = "d", longName = "date", description = "Start date")
public Date getCreationDate() {
return creationDate;
}
- /** @return A meaningless integer value */
+ /**
+ * @return A meaningless integer value
+ */
@Option(name = "l", longName = "level", description = "A meaningless integer value")
public final int getIntValue() {
return intValue;
}
- /** @return Multi value string field example */
+ /**
+ * @return Multi value string field example
+ */
@MultiValue
@Argument(description = "User account name")
public final List getUserNames() {
return userNames;
}
- /** @param action Enum example */
+ /**
+ * @param action Enum example
+ */
public final void setAction(UserControlAction action) {
this.action = action;
}
- /** @param creationDate A date example that needs customized conversion rule */
+ /**
+ * @param creationDate A date example that needs customized conversion rule
+ */
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
- /** @param intValue A meaningless integer value */
+ /**
+ * @param intValue A meaningless integer value
+ */
public final void setIntValue(int intValue) {
this.intValue = intValue;
}
- /** @param userNames Multi value string field example */
+ /**
+ * @param userNames Multi value string field example
+ */
public final void setUserNames(List userNames) {
this.userNames = userNames;
}
@@ -80,7 +96,9 @@ public String toString() {
.toString();
}
- /** @param args Command line arguments */
+ /**
+ * @param args Command line arguments
+ */
public static void main(String[] args) {
UserControl control = new UserControl();
ArgumentProcessor.forType(UserControl.class).process(args, control);
diff --git a/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationArgument.java b/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationArgument.java
index feeb628..ddc7f5e 100644
--- a/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationArgument.java
+++ b/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationArgument.java
@@ -5,7 +5,9 @@
class AnnotationArgument implements org.cyclopsgroup.jcli.spi.Argument {
private Argument argument;
- /** @param argument Argument annotation */
+ /**
+ * @param argument Argument annotation
+ */
AnnotationArgument(Argument argument) {
this.argument = argument;
}
diff --git a/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationCli.java b/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationCli.java
index fe4014d..2d4aa13 100644
--- a/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationCli.java
+++ b/src/main/java/org/cyclopsgroup/jcli/impl/AnnotationCli.java
@@ -13,7 +13,9 @@ class AnnotationCli implements org.cyclopsgroup.jcli.spi.Cli {
private final boolean undefined;
- /** @param cli Annotation cli */
+ /**
+ * @param cli Annotation cli
+ */
AnnotationCli(Cli cli) {
this.cli = cli;
this.undefined = cli == null;
diff --git a/src/main/java/org/cyclopsgroup/jcli/impl/OptionHelp.java b/src/main/java/org/cyclopsgroup/jcli/impl/OptionHelp.java
index 08b84d3..110c3bc 100644
--- a/src/main/java/org/cyclopsgroup/jcli/impl/OptionHelp.java
+++ b/src/main/java/org/cyclopsgroup/jcli/impl/OptionHelp.java
@@ -18,7 +18,9 @@ public class OptionHelp {
this.option = option;
}
- /** @return Description of option */
+ /**
+ * @return Description of option
+ */
@FixLengthField(start = 30, length = 220)
public String getDescription() {
String desc = option.getDescription();
@@ -28,19 +30,25 @@ public String getDescription() {
return desc;
}
- /** @return Name of option value */
+ /**
+ * @return Name of option value
+ */
@FixLengthField(start = 20, length = 9)
public String getDisplayName() {
return option.isFlag() ? null : "<" + option.getDisplayName() + ">";
}
- /** @return Long name of option */
+ /**
+ * @return Long name of option
+ */
@FixLengthField(start = 3, length = 16)
public String getLongName() {
return Strings.isNullOrEmpty(option.getLongName()) ? null : "--" + option.getLongName();
}
- /** @return Short name of option */
+ /**
+ * @return Short name of option
+ */
@FixLengthField(start = 0, length = 2)
public String getName() {
return "-" + option.getName();
diff --git a/src/main/java/org/cyclopsgroup/jcli/jline/ArgumentsInspector.java b/src/main/java/org/cyclopsgroup/jcli/jline/ArgumentsInspector.java
index 005a968..4037591 100644
--- a/src/main/java/org/cyclopsgroup/jcli/jline/ArgumentsInspector.java
+++ b/src/main/java/org/cyclopsgroup/jcli/jline/ArgumentsInspector.java
@@ -22,13 +22,17 @@ class ArgumentsInspector {
private ArgumentsInspectorState state = ArgumentsInspectorState.READY;
- /** @param context Parsing context */
+ /**
+ * @param context Parsing context
+ */
ArgumentsInspector(ParsingContext context) {
this.context = context;
remainingOptions = new HashSet