mirror of https://github.com/sipwise/jitsi.git
* Moved from 'init' method to constructor. * Expected format for the constructor described in the Command interface comments. * Distinguish between exceptions that occur during construction of the command, log these and inform the user of an error; and exception occurring during the execution of the command. * Better error handling for commands. To do: * Add 'help' method to the Command interface. * Catch IllegalArgumentException and automatically display help() information to the user.cefexperiments
parent
6cb3c0e2de
commit
d750dab798
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
|
||||
*
|
||||
* Distributable under LGPL license.
|
||||
* See terms of license at gnu.org.
|
||||
*/
|
||||
package net.java.sip.communicator.impl.protocol.irc.exception;
|
||||
|
||||
import net.java.sip.communicator.impl.protocol.irc.*;
|
||||
|
||||
/**
|
||||
* Exception indicating a bad command implementation.
|
||||
*
|
||||
* @author Danny van Heumen
|
||||
*/
|
||||
public class BadCommandException
|
||||
extends Exception
|
||||
{
|
||||
/**
|
||||
* Serialization id.
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* The command name used to look up the type.
|
||||
*/
|
||||
private final String command;
|
||||
|
||||
/**
|
||||
* The command type that caused the exception.
|
||||
*/
|
||||
private Class<? extends Command> type;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param command the command
|
||||
* @param type the command implementation
|
||||
* @param message the error message
|
||||
* @param e the cause
|
||||
*/
|
||||
public BadCommandException(final String command,
|
||||
final Class<? extends Command> type, final String message,
|
||||
final Throwable e)
|
||||
{
|
||||
super("An error occurred while preparing command '" + command + "' ("
|
||||
+ type.getCanonicalName() + "): " + message, e);
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the command.
|
||||
*
|
||||
* @return returns the name of the failed command
|
||||
*/
|
||||
public String getCommand()
|
||||
{
|
||||
return this.command;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type of the implementation.
|
||||
*
|
||||
* @return returns the type that implements the command
|
||||
*/
|
||||
public Class<? extends Command> getType()
|
||||
{
|
||||
return this.type;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue