command.line/java/com/jetbrains/teamcity/command/ICommand.java (16 lines of code) (raw):
package com.jetbrains.teamcity.command;
import com.jetbrains.teamcity.EAuthorizationException;
import com.jetbrains.teamcity.ECommunicationException;
import com.jetbrains.teamcity.ERemoteError;
import com.jetbrains.teamcity.Server;
import javax.naming.directory.InvalidAttributesException;
import jetbrains.buildServer.core.runtime.IProgressMonitor;
public interface ICommand {
public String getId();
public void execute(final Server server, final Args args, final IProgressMonitor monitor) throws EAuthorizationException, ECommunicationException, ERemoteError, InvalidAttributesException;
public boolean isConnectionRequired(final Args args);
/**
* @return The Command usage description. Uses for help
*/
public String getUsageDescription();
/**
* @return Short Command purpose description. Uses for help
*/
public String getCommandDescription();
/**
* @return Result of the Command execution. Uses for result printing
*/
public String getResultDescription();
/**
* @throws IllegalArgumentException
* if passed args is wrong
*/
public void validate(final Args args) throws IllegalArgumentException;
}