blob: bfe350b96c6f89e867aa8c71701688a5a172c947 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2010 Wind River Systems 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:
* Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.dsf.concurrent;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
/**
* Multi-status that calculates the maximum error code for all children.
*
* @since 2.1
*/
public class DsfMultiStatus extends MultiStatus {
/**
* Creates and returns a new multi-status object with the given children.
*
* @param pluginId the unique identifier of the relevant plug-in
* @param code the plug-in-specific status code
* @param newChildren the list of children status objects
* @param message a human-readable message, localized to the
* current locale
* @param exception a low-level exception, or <code>null</code> if not
* applicable
*/
public DsfMultiStatus(String pluginId, int code, IStatus[] newChildren, String message, Throwable exception) {
super(pluginId, code, newChildren, message, exception);
}
/**
* Creates and returns a new multi-status object with no children.
*
* @param pluginId the unique identifier of the relevant plug-in
* @param code the plug-in-specific status code
* @param message a human-readable message, localized to the
* current locale
* @param exception a low-level exception, or <code>null</code> if not
* applicable
*/
public DsfMultiStatus(String pluginId, int code, String message, Throwable exception) {
super(pluginId, code, message, exception);
}
@Override
public void add(IStatus status) {
super.add(status);
int newCode = status.getCode();
if (newCode > getCode()) {
setCode(newCode);
}
}
}