Package net.imglib2.loops
Class BindActionToSamplers
- java.lang.Object
-
- net.imglib2.loops.BindActionToSamplers
-
final class BindActionToSamplers extends java.lang.ObjectPackage-private utility class that's used byLoopBuilder.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBindActionToSamplers.BiConsumerRunnable<A,B>static classBindActionToSamplers.ConsumerRunnable<A>static classBindActionToSamplers.FiveConsumerRunnable<A,B,C,D,E>static classBindActionToSamplers.FourConsumerRunnable<A,B,C,D>static classBindActionToSamplers.SixConsumerRunnable<A,B,C,D,E,F>static classBindActionToSamplers.TriConsumerRunnable<A,B,C>
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<ClassCopyProvider<java.lang.Runnable>>factories
-
Constructor Summary
Constructors Constructor Description BindActionToSamplers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.RunnablebindActionToSamplers(java.lang.Object action, java.util.List<? extends Sampler<?>> samplers)For example.: Given a BiConsumer and two Samplers:
-
-
-
Field Detail
-
factories
private static final java.util.List<ClassCopyProvider<java.lang.Runnable>> factories
-
-
Method Detail
-
bindActionToSamplers
public static java.lang.Runnable bindActionToSamplers(java.lang.Object action, java.util.List<? extends Sampler<?>> samplers)For example.: Given a BiConsumer and two Samplers:
This methodBiConsumer<A, B> biConsumer = ... ; Sampler<A> samplerA = ... ; Sampler<B> samplerB = ... ;bindConsumerToSamplers(biConsumer, Arrays.asList(samplerA, samplerB))will return a Runnable that is functionally equivalent to:
It does it in such manner, that the returnedRunnable result = () -> { biConsumer.accept( sampleA.get(), samplerB.get() ); };Runnablecan be gracefully optimised by the Java just-in-time compiler.- Parameters:
action- This must be an instance ofConsumer,BiConsumerofLoopBuilder.TriConsumer.LoopBuilder.FourConsumer,LoopBuilder.FourConsumer, orLoopBuilder.SixConsumer.samplers- A list ofSampler, the size of the list must fit the consumer given by {@param operation}.- Throws:
java.lang.IllegalArgumentException- if the number of sampler does not fit the given consumer.
-
-