]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.core/src/org/argeo/cli/posix/Echo.java
Support PEM encrypted certificates.
[lgpl/argeo-commons.git] / org.argeo.core / src / org / argeo / cli / posix / Echo.java
1 package org.argeo.cli.posix;
2
3 import java.util.List;
4
5 import org.apache.commons.cli.CommandLine;
6 import org.apache.commons.cli.Option;
7 import org.apache.commons.cli.Options;
8 import org.argeo.cli.DescribedCommand;
9
10 public class Echo implements DescribedCommand<String> {
11
12 @Override
13 public Options getOptions() {
14 Options options = new Options();
15 options.addOption(Option.builder("n").desc("do not output the trailing newline").build());
16 return options;
17 }
18
19 @Override
20 public String getDescription() {
21 return "Display a line of text";
22 }
23
24 @Override
25 public String getUsage() {
26 return "[STRING]...";
27 }
28
29 @Override
30 public String apply(List<String> args) {
31 CommandLine cl = toCommandLine(args);
32
33 StringBuffer sb = new StringBuffer();
34 for (String s : cl.getArgList()) {
35 sb.append(s).append(' ');
36 }
37
38 if (cl.hasOption('n')) {
39 sb.deleteCharAt(sb.length() - 1);
40 } else {
41 sb.setCharAt(sb.length() - 1, '\n');
42 }
43 return sb.toString();
44 }
45
46 }