blob: f3b9009245d238246f91304b9436343430b6685a [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* 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:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*/
package org.eclipse.osbp.ui.initialization;
import java.util.HashSet;
import java.util.Set;
public abstract class AbstractInitializationProvider implements IInitializationProvider {
private Set<AbstractInitializationListener> initializationListeners = new HashSet<AbstractInitializationListener>();
/* (non-Javadoc)
* @see org.eclipse.osbp.ui.initialization.IInitializationProvider#hasInitializationToBeDone()
*/
@Override
abstract public boolean hasInitializationToBeDone();
abstract public String getInitializationProviderTitle();
abstract public int getInitializationTotalSteps();
/* (non-Javadoc)
* @see org.eclipse.osbp.ui.initialization.IInitializationProvider#addInitializationListener(org.eclipse.osbp.ui.initialization.AbstractInitializationListener)
*/
@Override
public void addInitializationListener(AbstractInitializationListener listener) {
initializationListeners.add(listener);
}
/* (non-Javadoc)
* @see org.eclipse.osbp.ui.initialization.IInitializationProvider#removeInitializationListener(org.eclipse.osbp.ui.initialization.AbstractInitializationListener)
*/
@Override
public void removeInitializationListener(IInitializationListener listener) {
initializationListeners.remove(listener);
}
/* (non-Javadoc)
* @see org.eclipse.osbp.ui.initialization.IInitializationProvider#notifyInitializationStep(org.eclipse.osbp.ui.initialization.InitializationNotification)
*/
@Override
public void notifyInitializationStep(IInitializationNotification notification) {
for (IInitializationListener listener : initializationListeners) {
listener.notifyInitializationStep(notification);
}
}
/* (non-Javadoc)
* @see org.eclipse.osbp.ui.initialization.IInitializationProvider#notifyInitializationDone()
*/
@Override
public void notifyInitializationDone() {
InitializationDoneNotification notification = new InitializationDoneNotification(this);
for (IInitializationListener listener : initializationListeners) {
listener.notifyInitializationDone(notification);
}
}
}