| | |
| | | package org.openmuc.openiec61850.internal.cli; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | public class StringListCliParameter extends ValueCliParameter { |
| | | |
| | | List<String> value; |
| | | private List<String> defaultValue = null; |
| | | |
| | | StringListCliParameter(CliParameterBuilder builder, String parameterName, List<String> defaultValue) { |
| | | super(builder, parameterName); |
| | | this.defaultValue = defaultValue; |
| | | value = defaultValue; |
| | | } |
| | | |
| | | StringListCliParameter(CliParameterBuilder builder, String parameterName) { |
| | | super(builder, parameterName); |
| | | } |
| | | |
| | | public List<String> getValue() { |
| | | return value; |
| | | } |
| | | |
| | | @Override |
| | | int parse(String[] args, int i) throws CliParseException { |
| | | selected = true; |
| | | |
| | | value = new ArrayList<>(); |
| | | i++; |
| | | while (i < args.length) { |
| | | if (args[i].length() > 0 && args[i].startsWith("-")) { |
| | | break; |
| | | } |
| | | value.add(args[i++]); |
| | | } |
| | | |
| | | if (value.size() == 0) { |
| | | throw new CliParseException("Parameter " + name + " has no value."); |
| | | } |
| | | |
| | | return value.size() + 1; |
| | | } |
| | | |
| | | @Override |
| | | int appendSynopsis(StringBuilder sb) { |
| | | int length = 0; |
| | | if (optional) { |
| | | sb.append("["); |
| | | length++; |
| | | } |
| | | sb.append(name).append(" <").append(parameterName).append(">..."); |
| | | length += (name.length() + 6 + parameterName.length()); |
| | | if (optional) { |
| | | sb.append("]"); |
| | | length++; |
| | | } |
| | | return length; |
| | | } |
| | | |
| | | @Override |
| | | public void appendDescription(StringBuilder sb) { |
| | | sb.append("\t").append(name).append(" <").append(parameterName).append(">...\n\t ").append(description); |
| | | if (defaultValue != null) { |
| | | sb.append(" Default is \""); |
| | | for (String stringValue : defaultValue) { |
| | | sb.append(stringValue); |
| | | } |
| | | sb.append("\"."); |
| | | } |
| | | } |
| | | } |
| | | package org.openmuc.openiec61850.internal.cli;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | | public class StringListCliParameter extends ValueCliParameter {
|
| | |
|
| | | List<String> value;
|
| | | private List<String> defaultValue = null;
|
| | |
|
| | | StringListCliParameter(CliParameterBuilder builder, String parameterName, List<String> defaultValue) {
|
| | | super(builder, parameterName);
|
| | | this.defaultValue = defaultValue;
|
| | | value = defaultValue;
|
| | | }
|
| | |
|
| | | StringListCliParameter(CliParameterBuilder builder, String parameterName) {
|
| | | super(builder, parameterName);
|
| | | }
|
| | |
|
| | | public List<String> getValue() {
|
| | | return value;
|
| | | }
|
| | |
|
| | | @Override
|
| | | int parse(String[] args, int i) throws CliParseException {
|
| | | selected = true;
|
| | |
|
| | | value = new ArrayList<>();
|
| | | i++;
|
| | | while (i < args.length) {
|
| | | if (args[i].length() > 0 && args[i].startsWith("-")) {
|
| | | break;
|
| | | }
|
| | | value.add(args[i++]);
|
| | | }
|
| | |
|
| | | if (value.size() == 0) {
|
| | | throw new CliParseException("Parameter " + name + " has no value.");
|
| | | }
|
| | |
|
| | | return value.size() + 1;
|
| | | }
|
| | |
|
| | | @Override
|
| | | int appendSynopsis(StringBuilder sb) {
|
| | | int length = 0;
|
| | | if (optional) {
|
| | | sb.append("[");
|
| | | length++;
|
| | | }
|
| | | sb.append(name).append(" <").append(parameterName).append(">...");
|
| | | length += (name.length() + 6 + parameterName.length());
|
| | | if (optional) {
|
| | | sb.append("]");
|
| | | length++;
|
| | | }
|
| | | return length;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void appendDescription(StringBuilder sb) {
|
| | | sb.append("\t").append(name).append(" <").append(parameterName).append(">...\n\t ").append(description);
|
| | | if (defaultValue != null) {
|
| | | sb.append(" Default is \"");
|
| | | for (String stringValue : defaultValue) {
|
| | | sb.append(stringValue);
|
| | | }
|
| | | sb.append("\".");
|
| | | }
|
| | | }
|
| | | }
|