blob: 3afd47877a796f1dfe2856cb9ee174bad8011c8d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jem.internal.proxy.common.remote;
/*
*/
import org.eclipse.jem.internal.proxy.common.CommandException;
/**
* This is an exception that is thrown when the processing
* of data was invalid for the command.
* There will be a flag indicting error type, and a flag
* indicating whether the connection is recoverable or not.
* If not recoverable, then the connection needs to be closed.
*
*/
public class UnexpectedCommandException extends CommandException {
/**
* Comment for <code>serialVersionUID</code>
*
* @since 1.1.0
*/
private static final long serialVersionUID = 7097693384453243113L;
private final Object fErrorType;
private final boolean fRecoverable;
public UnexpectedCommandException(Object errorType, boolean recoverable) {
fErrorType = errorType;
fRecoverable = recoverable;
}
public UnexpectedCommandException(Object errorType, boolean recoverable, Object data) {
super(data);
fErrorType = errorType;
fRecoverable = recoverable;
}
public UnexpectedCommandException(Object errorType, boolean recoverable, String msg, Object data) {
super(msg, data);
fErrorType = errorType;
fRecoverable = recoverable;
}
public Object getErrorType() {
return fErrorType;
}
public boolean isRecoverable() {
return fRecoverable;
}
public String getMessage() {
String m = super.getMessage();
if (fErrorType != null) {
String dataMsg = getExceptionData() != null ? " Errordata="+getExceptionData().toString() : ""; //$NON-NLS-1$ //$NON-NLS-2$
if (m == null)
return "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
else
return m + ':' + "Errortype="+fErrorType.toString() + dataMsg; //$NON-NLS-1$
} else
return m;
}
}