| /******************************************************************************* |
| * Copyright (c) 2004, 2007 Boeing. |
| * 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: |
| * Boeing - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.osee.define.errorhandler; |
| |
| import java.util.HashSet; |
| import java.util.Set; |
| |
| public class ErrorHandler { |
| |
| private Set<Resolver> set; |
| private StateValue value; |
| |
| /** |
| * Error handler. |
| */ |
| public ErrorHandler() { |
| super(); |
| this.set = new HashSet<Resolver>(); |
| this.value = new StateValue(); |
| } |
| |
| public void processException(Exception ex) { |
| boolean resolved = false; |
| for (Resolver r : set) { |
| if (r.resolve(ex, value)) { |
| resolved = true; |
| } |
| } |
| if (!resolved) { |
| throw new RuntimeException("Exception not resolved", ex); |
| } |
| } |
| |
| public void addResolver(Resolver resolver) { |
| set.add(resolver); |
| } |
| |
| public boolean isSaveValid() { |
| return value.isSaveValid(); |
| } |
| } |