Package host.anzo.commons.threading
Class CallableWrapper<V>
java.lang.Object
host.anzo.commons.threading.CallableWrapper<V>
- All Implemented Interfaces:
Callable<V>
A wrapper for
Callable tasks that provides error handling, default return value and metrics collection.-
Constructor Summary
ConstructorsConstructorDescriptionCallableWrapper(Callable<V> c, V defaultReturnValue) Creates a new CallableWrapper for the given Callable task.CallableWrapper(Callable<V> c, V defaultReturnValue, boolean virtual) Creates a new CallableWrapper for the given Callable task.CallableWrapper(Callable<V> c, V defaultReturnValue, boolean virtual, String name) Creates a new CallableWrapper for the given Callable task.CallableWrapper(Callable<V> c, V defaultReturnValue, String name) Creates a new CallableWrapper for the given Callable task. -
Method Summary
Modifier and TypeMethodDescriptioncall()Executes the wrapped Callable task.static @NotNull MetricResultReturns the metrics for non-virtual CallableWrappers.static MetricResultReturns the metrics for virtual CallableWrappers.
-
Constructor Details
-
CallableWrapper
Creates a new CallableWrapper for the given Callable task.- Parameters:
c- the Callable task to wrapdefaultReturnValue- the default value to return in case of error
-
CallableWrapper
Creates a new CallableWrapper for the given Callable task.- Parameters:
c- the Callable task to wrapdefaultReturnValue- the default value to return in case of errorvirtual- whether the task should be treated as virtual for metrics collection
-
CallableWrapper
Creates a new CallableWrapper for the given Callable task.- Parameters:
c- the Callable task to wrapdefaultReturnValue- the default value to return in case of errorname- the name to use for metrics collection
-
CallableWrapper
Creates a new CallableWrapper for the given Callable task.- Parameters:
c- the Callable task to wrapdefaultReturnValue- the default value to return in case of errorvirtual- whether the task should be treated as virtual for metrics collectionname- the name to use for metrics collection
-
-
Method Details
-
call
Executes the wrapped Callable task. Returns the result of the wrapped Callable or the default value if an error occurs. Collects metrics on execution time and errors if metrics are enabled. -
getMetric
Returns the metrics for non-virtual CallableWrappers.- Returns:
- the metrics for non-virtual CallableWrappers
-
getMetricVirtual
Returns the metrics for virtual CallableWrappers.- Returns:
- the metrics for virtual CallableWrappers
-