All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.esec.icpm.server.ws.ICPMException Maven / Gradle / Ivy

There is a newer version: 1.13.4
Show newest version
/**
 * @see UC.01
 */
package br.com.esec.icpm.server.ws;

import javax.xml.ws.WebFault;

import br.com.esec.icpm.server.factory.Status;
import br.com.esec.icpm.server.factory.StatusTypeFactory;

/**
 * Describes the exceptions in the MSS
 */
@WebFault(name = "FaultDetail")
public class ICPMException extends Exception {

	@Override
	public String toString() {
		return "ICPMException [faultInfo=" + faultInfo + "]";
	}

	private static final long serialVersionUID = 1L;

	private StatusType faultInfo;

	public ICPMException(StatusType faultInfo) {
		super(faultInfo.getStatusDetail());
		this.faultInfo = faultInfo;
	}

	public ICPMException(String message, StatusType faultInfo) {
		super(message);
		this.faultInfo = faultInfo;
	}

	public ICPMException(Throwable cause) {
		super(cause);
		this.faultInfo = StatusTypeFactory.create(Status.INTERNAL_ERROR);
		if (cause != null && cause.getMessage() != null) {
			faultInfo.setStatusDetail(cause.getMessage());
		}
	}

	public ICPMException(Throwable cause, StatusType faultInfo) {
		super(faultInfo.getStatusDetail(), cause);
		this.faultInfo = faultInfo;
	}

	public ICPMException(String message, Throwable cause, StatusType faultInfo) {
		super(message, cause);
		this.faultInfo = faultInfo;
	}

	public StatusType getFaultInfo() {
		return faultInfo;
	}

	public void setFaultInfo(StatusType faultInfo) {
		this.faultInfo = faultInfo;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy