/* * Copyright 2015 Red Hat, Inc. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. * * * Copyright (c) 2015 The original author or authors * ------------------------------------------------------ * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. * */ package io.vertx.ext.shell.support; import io.vertx.core.Vertx; import io.vertx.ext.shell.command.Command; import io.vertx.ext.shell.command.CommandBuilder; import io.vertx.ext.shell.command.CommandResolver; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ public class TestCommands implements CommandResolver { private final Vertx vertx; private Map<String, Command> commands = new ConcurrentHashMap<>(); public TestCommands(Vertx vertx) { this.vertx = vertx; } public void add(CommandBuilder builder) { add(builder.build(vertx)); } public void add(Command command) { commands.put(command.name(), command); } @Override public List<Command> commands() { return new ArrayList<>(commands.values()); } public void clear() { commands.clear(); } }