Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
package simplecli.command;
import java.util.*;
import simplecli.*;
import simplecli.error.*;
public class HelpCommand implements Command {
public HelpCommand(Interpreter interpreter) {
this.interpreter = interpreter;
}
public String run(Properties context,
ArrayList parameters)
throws SyntaxError, UnknownCommandError {
switch (parameters.size()) {
case 0: {
// Нет параметров - возвращаем краткое описание
// всех известных команд.
StringBuffer sb = new StringBuffer();
Hashtable commands = interpreter.getCommands();
Enumeration names = commands.keys();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
Command cmd = (Command) commands.get(name);
String descr = cmd.getDescription(name);
sb.append(name + " " + descr);
if (names.hasMoreElements()) {
sb.append(CRLF);
}
}
if (sb.length() > 0) {
return sb.toString();
} else {
return null;
}
}
case 1: {
// Один параметр - возвращаем полную справочную
// информацию по команде, указанной в качестве
// параметра.
String name = (String) parameters.get(0);
Hashtable commands = interpreter.getCommands();
Command cmd = (Command) commands.get(name);
if (cmd == null) {
throw new UnknownCommandError(name);
}
return cmd.getHelp(name);
}
default:
throw new SyntaxError();
}
}