package org.herac.tuxguitar.util.error; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TGErrorManager { private static TGErrorManager instance; private List errorHandlers; private TGErrorManager(){ this.errorHandlers = new ArrayList(); } public static TGErrorManager getInstance(){ synchronized (TGErrorManager.class) { if( instance == null ){ instance = new TGErrorManager(); } return instance; } } public void handleError(Throwable throwable){ Iterator it = this.errorHandlers.iterator(); while(it.hasNext()){ TGErrorHandler tgErrorHandler = (TGErrorHandler)it.next(); tgErrorHandler.handleError(throwable); } } public void addErrorHandler(TGErrorHandler errorHandler){ if(!this.errorHandlers.contains(errorHandler) ){ this.errorHandlers.add(errorHandler); } } public void removeErrorHandler(TGErrorHandler errorHandler){ if( this.errorHandlers.contains(errorHandler) ){ this.errorHandlers.remove(errorHandler); } } public List getErrorHandlers() { return this.errorHandlers; } }