org.infinispan.server.cli.handlers.SiteCommandHandler Maven / Gradle / Ivy
package org.infinispan.server.cli.handlers;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.infinispan.server.cli.util.CliCommandBuffer;
import org.jboss.as.cli.CommandArgument;
import org.jboss.as.cli.CommandContext;
import org.jboss.as.cli.CommandFormatException;
import org.jboss.as.cli.CommandHandler;
import org.jboss.as.cli.CommandHandlerProvider;
import org.jboss.as.cli.impl.ArgumentWithValue;
import org.jboss.as.cli.impl.ArgumentWithoutValue;
import org.jboss.as.cli.operation.ParsedCommandLine;
/**
* The {@link CacheCommand#SITE} handler.
*
* @author Pedro Ruivo
* @since 6.1
*/
public class SiteCommandHandler extends NoArgumentsCliCommandHandler {
private final List extends CommandArgument> arguments;
public SiteCommandHandler(CliCommandBuffer buffer) {
super(CacheCommand.SITE, buffer);
arguments = Arrays.asList(
new ArgumentWithoutValue(this, -1, "--status"),
new ArgumentWithoutValue(this, -1, "--online"),
new ArgumentWithoutValue(this, -1, "--offline"),
new ArgumentWithoutValue(this, -1, "--push"),
new ArgumentWithoutValue(this, -1, "--cancelpush"),
new ArgumentWithoutValue(this, -1, "--cancelreceive"),
new ArgumentWithoutValue(this, -1, "--pushstatus"),
new ArgumentWithoutValue(this, -1, "--clearpushstatus"),
new ArgumentWithoutValue(this, -1, "--sendingsite"),
new ArgumentWithoutValue(this, -1, "--onlineall"),
new ArgumentWithoutValue(this, -1, "--offlineall"),
new ArgumentWithoutValue(this, -1, "--pushall"),
new ArgumentWithoutValue(this, -1, "--cancelpushall")
);
new ArgumentWithValue(this, null, 0, "--site-name");
}
@Override
public Collection getArguments(CommandContext ctx) {
ParsedCommandLine parsedCommandLine = ctx.getParsedCommandLine();
try {
for (CommandArgument argument : arguments) {
if (argument.isPresent(parsedCommandLine)) {
return Collections.emptyList();
}
}
return Collections.unmodifiableCollection(arguments);
} catch (CommandFormatException e) {
//ignored!
}
return Collections.emptyList();
}
public static class Provider implements CommandHandlerProvider {
@Override
public CommandHandler createCommandHandler(CommandContext ctx) {
return new SiteCommandHandler(CliCommandBuffer.INSTANCE);
}
@Override
public boolean isTabComplete() {
return true;
}
@Override
public String[] getNames() {
return new String[] { CacheCommand.SITE.getName() };
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy