All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ioc.commons.flowcontrol.operationmanager.impl.HasPendingOperationsLoaderOperationHandler Maven / Gradle / Ivy

Go to download

Library which contains some extension classes for the library IOC-Commons. It provides some interface definitions and some tool classes which are non-dependent from the used technology; i.e. the classes and interfaces from this library do not depend on the choosen ioc-commons-implementation library.

The newest version!
package org.ioc.commons.flowcontrol.operationmanager.impl;

import org.ioc.commons.flowcontrol.operationmanager.IsOperation;
import org.ioc.commons.flowcontrol.operationmanager.OperationHandler;
import org.ioc.commons.ui.HasPendingOperationsLoader;
import org.ioc.commons.utils.FormatterLogger;

/**
 * It wraps an operation handler from some HasLoaders.
 * 
 * Instanciated from {@link OperationHandlerFactory}
 * 
 * @author Jesús Lunar Pérez
 * 
 * @param 
 *            Operation type
 */
public class HasPendingOperationsLoaderOperationHandler & IsOperation> implements OperationHandler {

	private static final FormatterLogger logger = FormatterLogger.getLogger(HasPendingOperationsLoaderOperationHandler.class);

	private HasPendingOperationsLoader[] loaders;
	private boolean logWhenNull;

	HasPendingOperationsLoaderOperationHandler(boolean logWhenNull, HasPendingOperationsLoader... loaders) {
		this.loaders = loaders;
		this.logWhenNull = logWhenNull;
	}

	@Override
	public void onOperationBeginning(Object sender, O operation) {
		if (this.loaders != null) {
			for (HasPendingOperationsLoader loader : loaders) {
				if (loader != null) {
					loader.operationBeginning();
				} else if (logWhenNull) {
					logger.warn("Ignoring null loader component assigned");
				}
			}
		}
	}

	@Override
	public void onOperationFinished(Object sender, O operation, boolean success) {
		if (this.loaders != null) {
			for (HasPendingOperationsLoader loader : loaders) {
				if (loader != null) {
					loader.operationFinished();
				} else if (logWhenNull) {
					logger.warn("Ignoring null loader component assigned");
				}
			}
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy