/******************************************************************************* | |
* Copyright (c) 2009 by SAP AG, Walldorf. | |
* 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: | |
* SAP AG - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.jst.ws.jaxws.utils; | |
import org.eclipse.core.runtime.IStatus; | |
import org.eclipse.core.runtime.MultiStatus; | |
import org.eclipse.core.runtime.Status; | |
/** | |
* Convenience methods to manage status objects. | |
* | |
* @author Joerg Dehmel | |
*/ | |
public final class StatusUtils | |
{ | |
private StatusUtils() | |
{ | |
// no instantiation | |
} | |
/** | |
* Finds the most severe status from a array of stati. | |
* An error is more severe than a warning, and a warning is more severe | |
* than ok. | |
*/ | |
public static IStatus getMostSevere(IStatus[] status) { | |
IStatus max= null; | |
for (int i= 0; i < status.length; i++) { | |
IStatus curr= status[i]; | |
if (curr.matches(IStatus.ERROR)) { | |
return curr; | |
} | |
if (max == null || curr.getSeverity() > max.getSeverity()) { | |
max= curr; | |
} | |
} | |
return max; | |
} | |
/** | |
* Provides a new status object with severity IStatus.CANCEL. | |
* | |
* @param message | |
* status message | |
* @return the cancel status | |
*/ | |
public static IStatus statusCancel(final String message) | |
{ | |
return createStatus(IStatus.CANCEL, message); | |
} | |
/** | |
* Provides a new status object with severity IStatus.ERROR. | |
* | |
* @param message | |
* status message | |
* @return the error status | |
*/ | |
public static IStatus statusError(final String message) | |
{ | |
return createStatus(IStatus.ERROR, message); | |
} | |
/** | |
* Provides a new status object with severity IStatus.ERROR. | |
* | |
* @param message | |
* status message | |
* @param ex | |
* exception that corresponds to the status | |
* @return the error status | |
*/ | |
public static IStatus statusError(final String message, final Throwable ex) | |
{ | |
return createStatus(IStatus.ERROR, message, ex); | |
} | |
/** | |
* Provides a new status object with severity IStatus.WARNING. | |
* | |
* @param message | |
* status message | |
* @return the warning status | |
*/ | |
public static IStatus statusWarning(final String message) | |
{ | |
return createStatus(IStatus.WARNING, message); | |
} | |
/** | |
* Provides a new status object with severity IStatus.WARNING. | |
* | |
* @param message | |
* status message | |
* @param ex | |
* exception that corresponds to the status | |
* @return the warning status | |
*/ | |
public static IStatus statusWarning(final String message, final Throwable ex) | |
{ | |
return createStatus(IStatus.WARNING, message, ex); | |
} | |
/** | |
* Provides a new status object with severity IStatus.INFO. | |
* | |
* @param message | |
* status message | |
* @return the info status | |
*/ | |
public static IStatus statusInfo(final String message) | |
{ | |
return createStatus(IStatus.INFO, message); | |
} | |
/** | |
* Provides a new status object with severity IStatus.INFO. | |
* | |
* @param message | |
* status message | |
* @return the info status | |
*/ | |
public static IStatus statusInfo(final String message, final Throwable cause) | |
{ | |
return createStatus(IStatus.INFO, message, cause); | |
} | |
/** | |
* Provides a new status object with severity IStatus.OK. | |
* | |
* @param message | |
* status message | |
* @return the ok status | |
*/ | |
public static IStatus statusOk(final String message) | |
{ | |
return createStatus(IStatus.OK, message); | |
} | |
private static IStatus createStatus(final int severity, final String message) | |
{ | |
return new Status(severity, "id", 0, message, null); //$NON-NLS-1$ | |
} | |
private static IStatus createStatus(final int severity, final String message, final Throwable ex) | |
{ | |
return new Status(severity, "id", 0, message, ex); //$NON-NLS-1$ | |
} | |
/** | |
* Provides a new multistatus object | |
* | |
* @param message | |
* status message | |
* @return multistatus | |
*/ | |
public static MultiStatus createMultiStatus(String message) | |
{ | |
return new MultiStatus("id", 0, message, null); //$NON-NLS-1$ | |
} | |
} |