-
- All Implemented Interfaces:
public final class Meta
-
-
Method Summary
Modifier and Type Method Description final static <T extends Any> T
boundSpreading(Boolean region, Function1<Unit, T> f, T null)
Constrain the spreading of f only across a region. final static Unit
findSources(Object source)
final static Unit
findSourcesWithId(Object source, Object id, Object d, Object k)
final static <T extends Any, U extends Any> <ERROR CLASS>
,Function1,U)>multiInstance(<ERROR CLASS> sources, Function1<T, U> f, U null)
Run an instance of a function for every source id. final static <T extends Any, U extends Any> U
multiRegion(T discriminant, Function1<T, Boolean> filter, Function1<Unit, U> function, U default)
Splice devices into regions according to the discriminant and apply f. final static <G extends Any, H extends Any, I extends Any> I
preProcessAndApply(G input, Function1<G, H> pre, Function1<H, I> f)
Feed f with pre-processed data. final static <G extends Any, H extends Any, I extends Any, T extends Any> T
processAndApply(G input, Function1<G, H> pre, Function1<H, I> f, Function1<I, T> post)
Feed f with pre-processed data, and then post-process the output. final static <G extends Any, H extends Any, I extends Any, T extends Any> T
postProcessAndApply(G input, Function1<H, I> f, Function1<I, T> post)
Apply f, and then post-process the output. final static <T extends Any> T
publishSubscribe(Boolean publisher, Boolean subscriber, T information, T null)
Publish/Subscribe pattern. final static <T extends Any> T
publishSubscribeWithPotential(Number potential, Boolean subscriber, T information, T null)
Publish/Subscribe pattern. -
-
Method Detail
-
boundSpreading
final static <T extends Any> T boundSpreading(Boolean region, Function1<Unit, T> f, T null)
Constrain the spreading of f only across a region.
- Parameters:
region
- whether the function is spreaded or notf
- function to be spreadednull
- default value where f is not spreaded
-
findSources
final static Unit findSources(Object source)
-
multiInstance
final static <T extends Any, U extends Any> <ERROR CLASS> ,Function1,U)>multiInstance(<ERROR CLASS> sources, Function1<T, U> f, U null)
Run an instance of a function for every source id.
- Parameters:
sources
- sources in the systemf
- function to be applied for every sourcenull
- default value
-
multiRegion
final static <T extends Any, U extends Any> U multiRegion(T discriminant, Function1<T, Boolean> filter, Function1<Unit, U> function, U default)
Splice devices into regions according to the discriminant and apply f.
- Parameters:
discriminant
- split regions according to this valuefilter
- how to handle the discriminant valuefunction
- what to apply in each regiondefault
- default value
-
preProcessAndApply
final static <G extends Any, H extends Any, I extends Any> I preProcessAndApply(G input, Function1<G, H> pre, Function1<H, I> f)
Feed f with pre-processed data.
- Parameters:
input
- inputpre
- how to pre-processf
- what to do
-
processAndApply
final static <G extends Any, H extends Any, I extends Any, T extends Any> T processAndApply(G input, Function1<G, H> pre, Function1<H, I> f, Function1<I, T> post)
Feed f with pre-processed data, and then post-process the output.
- Parameters:
input
- inputpre
- how to pre-processf
- what to dopost
- how to post process
-
postProcessAndApply
final static <G extends Any, H extends Any, I extends Any, T extends Any> T postProcessAndApply(G input, Function1<H, I> f, Function1<I, T> post)
Apply f, and then post-process the output.
- Parameters:
input
- inputf
- what to dopost
- how to post process
-
publishSubscribe
final static <T extends Any> T publishSubscribe(Boolean publisher, Boolean subscriber, T information, T null)
Publish/Subscribe pattern.
- Parameters:
publisher
- who publishessubscriber
- who is subscribinginformation
- what to sharenull
- what to share if you are neither a subscriber nor a publisher
-
publishSubscribeWithPotential
final static <T extends Any> T publishSubscribeWithPotential(Number potential, Boolean subscriber, T information, T null)
Publish/Subscribe pattern.
- Parameters:
potential
- aggregation direction (publisher are devices whose potential is 0)subscriber
- who is subscribinginformation
- what to sharenull
- what to share if you are neither a subscriber nor a publisher
-
-
-
-