org.wildfly.clustering.context.Contextualizer Maven / Gradle / Ivy
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.wildfly.clustering.context;
import java.util.concurrent.Callable;
import java.util.function.Supplier;
import org.wildfly.common.function.ExceptionRunnable;
import org.wildfly.common.function.ExceptionSupplier;
/**
* Facility for creating contextual tasks.
* @author Paul Ferraro
*/
public interface Contextualizer {
/**
* Decorates the specified runner with a given context.
* @param runner a runnable task
* @return a contextual runner
*/
Runnable contextualize(Runnable runner);
/**
* Decorates the specified runner with a given context.
* @param the exception type
* @param runner a runnable task
* @return a contextual runner
*/
ExceptionRunnable contextualize(ExceptionRunnable runner);
/**
* Decorates the specified caller with a given context.
* @param the return type
* @param runner a callable task
* @return a contextual caller
*/
Callable contextualize(Callable caller);
/**
* Decorates the specified supplier with a given context.
* @param the return type
* @param runner a supplier task
* @return a contextual supplier
*/
Supplier contextualize(Supplier supplier);
/**
* Decorates the specified supplier with a given context.
* @param the return type
* @param the exception type
* @param runner a supplier task
* @return a contextual supplier
*/
ExceptionSupplier contextualize(ExceptionSupplier supplier);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy