|
GridGain 3.6.0e
Enterprise Edition |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.gridgain.grid.lang.GridFunc
public class GridFunc
Start Here
Contains factory and utility methods for closures, predicates, and tuples.
It also contains functional style collection comprehensions.
Most of the methods in this class can be divided into two groups:
Predef in Scala) to provide general utility and functional
programming functionality in a shortest syntactical context using F
typedef.
| Wiki | |
| Forum |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| Constructor Summary | |
|---|---|
GridFunc()
|
|
| Method Summary | ||
|---|---|---|
static
|
absJobs(Collection<? extends T> c)
Converts collection of absolute closures to the read only collection of grid jobs. |
|
static Collection<GridJob> |
absJobs(Runnable... c)
Converts array of out closures to the collection of grid jobs. |
|
static
|
addIfAbsent(ConcurrentMap<K,V> map,
K key,
Callable<V> c)
Gets the value with given key. |
|
static
|
addIfAbsent(ConcurrentMap<K,V> map,
K key,
V val)
Gets the value with given key. |
|
static
|
addIfAbsent(Map<K,V> map,
K key,
Callable<V> c)
Utility map getter. |
|
static
|
addIfAbsent(Map<K,V> map,
K key,
V v)
Utility map getter. |
|
static
|
alwaysFalse()
Gets predicate that always returns false. |
|
static
|
alwaysTrue()
Gets predicate that always returns true. |
|
static
|
and(Collection<? extends GridPredicate<? super T>> ps)
Get a predicate that evaluates to true if each of its component predicates
evaluates to true. |
|
static
|
and(GridPredicate<? super T>... ps)
Get a predicate that evaluates to true if each of its component predicates
evaluates to true. |
|
static
|
and(GridPredicate<? super T>[] p1,
GridPredicate<? super T>... p2)
Get a predicate that evaluates to true if each of its component predicates
evaluates to true. |
|
static GridAbsPredicate |
as(Callable<Boolean> c)
Converts given closure to predicate. |
|
static
|
as(Callable<R> c)
Converts given callable to an out-closure. |
|
static
|
as(Future<T> fut)
Converts given future into the closure. |
|
static GridOutClosure<Boolean> |
as(GridAbsPredicate p)
Converts given predicate to closure. |
|
static
|
as(GridClosure<? super T,Boolean> c)
Converts given closure to predicate. |
|
static
|
as(GridClosure2<? super T1,? super T2,Boolean> c)
Converts given closure to predicate. |
|
static
|
as(GridClosure3<? super T1,? super T2,? super T3,Boolean> c)
Converts given closure to predicate. |
|
static
|
as(GridFuture<T> fut)
Converts given object with interface GridFuture into an object implementing Future. |
|
static
|
as(GridPredicate<? super X> p)
Converts given predicate to closure. |
|
static
|
as(GridPredicate2<? super X1,? super X2> p)
Converts given predicate to closure. |
|
static
|
as(GridPredicate3<? super X1,? super X2,? super X3> p)
Converts given predicate to closure. |
|
static
|
as(Iterator<T> iter)
Converts given iterator into instance of Iterable interface. |
|
static GridAbsClosure |
as(Runnable r)
Converts given runnable to an absolute closure. |
|
static
|
as0(GridPredicate2<? super E1,? super E2> p)
Converts predicate with two separate values to a predicate with tuple. |
|
static
|
asArray(T... t)
Convinience method to convert multiple elements into array. |
|
static
|
asList(T... vals)
Converts array to List. |
|
static
|
asList(T t)
Creates read-only list with given values. |
|
static
|
asMap(K k,
V v)
Creates map with given values. |
|
static
|
asMap(K k1,
V v1,
K k2,
V v2)
Creates map with given values. |
|
static
|
asMap(K k1,
V v1,
K k2,
V v2,
K k3,
V v3)
Creates map with given values. |
|
static
|
asMap(K k1,
V v1,
K k2,
V v2,
K k3,
V v3,
K k4,
V v4)
Creates map with given values. |
|
static
|
asMap(K k1,
V v1,
K k2,
V v2,
K k3,
V v3,
K k4,
V v4,
K k5,
V v5)
Creates map with given values. |
|
static
|
asSet(T... t)
Creates read-only set with given values. |
|
static
|
asSet(T t)
Creates read-only set with given value. |
|
static double |
avg(Iterable<? extends Number> c)
Calculates arithmetic mean. |
|
static
|
avgReducer()
Gets reducer closure that calculates arithmetic mean. |
|
static
|
awaitAll(Collection<GridFuture<T>> futs)
Waits until all passed futures will be executed. |
|
static
|
awaitAll(GridFuture<T>... futs)
Waits until all passed futures will be executed. |
|
static
|
awaitAll(long timeout,
Collection<GridFuture<T>> futs)
Waits until all passed futures will be executed. |
|
static
|
awaitAll(long timeout,
GridReducer<T,R> rdc,
Collection<GridFuture<T>> futs)
Awaits for all futures to complete and optionally reduces all results into one. |
|
static
|
awaitOne(GridFuture<T>... futs)
Waits for one completed future from passed and returns it. |
|
static
|
awaitOne(Iterable<GridFuture<T>> futs)
Waits for the first completed future from passed and returns it. |
|
static
|
breaker(boolean firstVal)
Gets breaker predicate which will return a predicate that will evaluate to firstVal when checked the first time,
but then will always evaluate to the opposite value. |
|
static
|
c2c()
Returns closure that converts Callable to GridOutClosure. |
|
static
|
cacheBackup()
Gets predicate which returns true if GridCacheEntry.primary()
method returns false. |
|
static
|
cacheContainsEntriesGet(Collection<? extends Map.Entry<K,V>> entries)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsEntriesGet(Map.Entry<K,V>... entries)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsEntriesPeek(Collection<? extends Map.Entry<K,V>> entries)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsEntriesPeek(Map.Entry<K,V>... entries)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsGet(Collection<? extends V> vals)
Gets predicate which returns true if GridCacheEntry.get(GridPredicate[])
method returns value that is contained in given collection. |
|
static
|
cacheContainsGet(Map<K,V> map)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsGet(V... vals)
Gets predicate which returns true if GridCacheEntry.get(GridPredicate[]) method returns
value that is contained among given values. |
|
static
|
cacheContainsPeek(Collection<? extends V> vals)
Gets predicate which returns true if GridCacheEntry.peek(GridPredicate[]) methods returns
value that is contained in given collection. |
|
static
|
cacheContainsPeek(Map<K,V> map)
Gets predicate which returns true if cache entry matches any given key-value pair. |
|
static
|
cacheContainsPeek(V... vals)
Gets predicate which returns true if GridCacheEntry.peek(GridPredicate[]) methods returns
value that is contained among given values. |
|
static
|
cacheEntry2Get()
Gets closure that returns value for an entry. |
|
static
|
cacheEntry2Peek()
Gets closure that returns result of GridCacheStrictProjection.peek() method. |
|
static
|
cacheExpireAfter(long msec)
Gets predicate which returns true if entry expires on or after given time
in milliseconds. |
|
static
|
cacheExpireBefore(long msec)
Gets predicate which returns true if entry expires on or before given time
in milliseconds. |
|
static
|
cacheHasGetValue()
Gets predicate which returns true if GridCacheEntry.get(GridPredicate[])
method returns non-null value. |
|
static
|
cacheHasKeys(Collection<? extends K> keys)
Gets predicate which returns true if entry's key is contained in given collection. |
|
static
|
cacheHasKeys(K... keys)
Gets predicate which returns true if entry's key is equal to any of provided keys. |
|
static
|
cacheHasPeekValue()
Gets predicate which returns true if
GridCacheEntry.peek() method
returns non-null value. |
|
static
|
cacheKeys(GridPredicate<? super K>... ps)
Converts key filter to entry filter using Map.Entry.getKey()
to get value. |
|
static
|
cacheMetrics(Collection<? extends GridPredicate<? super GridCacheMetrics>> p)
Converts metrics filter to entry filter using GridCacheEntry.metrics(). |
|
static
|
cacheMetrics(GridPredicate<? super GridCacheMetrics>... p)
Converts metrics filter to entry filter using GridCacheEntry.metrics(). |
|
static
|
cacheNodeIds(Collection<UUID> nodeIds)
Gets predicate which returns true if cache entry subgrid is a subset of given
nodes (specified by ids). |
|
static
|
cacheNodeIds(UUID... nodeIds)
Gets predicate which returns true if cache entry subgrid is a subset of given
nodes (specified by ids). |
|
static
|
cacheNodes(Collection<? extends GridRichNode> nodes)
Gets predicate which returns true if cache entry subgrid is a subset of given
nodes. |
|
static
|
cacheNodes(GridProjection... prj)
Gets predicate which returns true if cache entry nodes is a subset of given
grid projections' nodes. |
|
static
|
cacheNodes(GridRichNode... nodes)
Gets predicate which returns true if cache entry subgrid is a subset of given
nodes. |
|
static GridPredicate<GridRichNode> |
cacheNodesForNames(String... cacheNames)
Gets node predicate which returns true for all nodes which have given cache names
started. |
|
static
|
cacheNoGetValue()
Gets predicate which returns true if GridCacheEntry.get(GridPredicate[])
method returns null value. |
|
static
|
cacheNoPeekValue()
Gets predicate which returns true if
GridCacheEntry.peek()
method returns null value. |
|
static
|
cachePrimary()
Gets predicate which returns true if GridCacheEntry.primary()
method returns true. |
|
static
|
cacheValuesGet(GridPredicate<? super V>... ps)
Converts value filter to entry filter using GridCacheEntry.get(GridPredicate[]) to get value. |
|
static
|
cacheValuesPeek(GridPredicate<? super V>... ps)
Converts value filter to entry filter using GridCacheEntry.peek(GridPredicate[])
to get value. |
|
static GridAbsClosure |
caInvoke(Class<?> cls,
String mtdName,
Object... args)
Creates absolute closure that will reflectively call a static method with the given name. |
|
static GridAbsClosure |
caInvoke(Object o,
String mtdName,
Object... args)
Creates absolute closure that will reflectively call a method with the given name on provided object. |
|
static
|
ciInvoke(String mtdName,
Object... args)
Creates in closure that will reflectively call a method with the given name on closure's argument. |
|
static
|
cInvoke(String mtdName,
Object... args)
Creates closure that will reflectively call a method with the given name on closure's argument and return result of that call. |
|
static GridClosure<Object,Class<?>> |
clazz()
Gets closure that converts object to its runtime class. |
|
static
|
coInvoke(Class<?> cls,
String mtdName,
Object... args)
Creates out closure that will reflectively call a static method with the given name and return result of that call. |
|
static
|
coInvoke(Object o,
String mtdName,
Object... args)
Creates out closure that will reflectively call a method with the given name on provided object and return result of that call. |
|
static
|
compose(GridClosure<? super D,? extends B> f,
GridClosure<? super B,C> g)
Composes two closures into one. |
|
static
|
compose(GridPredicate<? super Y> p,
GridClosure<? super X,? extends Y> f)
Gets a predicate that is composed of given predicate and closure. |
|
static
|
concat(boolean copy,
Collection<T> c1,
Collection<T> c2)
Concatenates 2 collections into one. |
|
static
|
concat(boolean copy,
T t,
Collection<T> c)
Concatenates an element to a collection. |
|
static String |
concat(Iterable<String> c,
String delim)
Concatenates strings using provided delimiter. |
|
static
|
concat(T[] arr,
T... obj)
Concatenates an elements to an array. |
|
static GridReducer<String,String> |
concatReducer(String delim)
Gets reducer closure that concatenates strings using provided delimiter. |
|
static
|
constant(R val)
Gets closure that returns constant value. |
|
static
|
constant1(R val)
Gets closure that returns constant value. |
|
static
|
constant2(R val)
Gets closure that returns constant value. |
|
static
|
constant3(R val)
Gets closure that returns constant value. |
|
static
|
contains(Collection<T> c)
Provides predicate which returns true if it receives an element
that is contained in the passed in collection. |
|
static
|
contains(Collection<T> c,
T t)
Checks if value is contained in the collection passed in. |
|
static
|
containsAll(Collection<? extends T> c1,
Iterable<? extends T> c2)
Checks if collection c1 contains all elements from collection c2. |
|
static
|
containsAny(Collection<? extends T> c1,
Iterable<? extends T> c2)
Checks if collection c1 contains any elements from collection c2. |
|
static
|
containsAny(Collection<? extends T> c1,
T... c2)
Checks if collection c1 contains any elements from array c2. |
|
static
|
continuousReducer(R elem)
Gets reducer which always returns true from GridReducer.collect(Object)
method and passed in element from GridOutClosure.apply() method. |
|
static
|
copy(Collection<T> to,
Iterable<? extends T> from,
GridPredicate<? super T>... p)
Adds (copies) to given collection using provided predicates. |
|
static
|
copy(Collection<T> to,
T... from)
Adds (copies) to given collection all elements in 'from' array. |
|
static
|
curry(Collection<? extends GridClosure<? super T,R>> in,
Collection<? extends T> args)
Curries collection of closures with given collection of arguments. |
|
static
|
curry(Collection<? extends GridClosure<? super T,R>> iter,
T arg)
Curries collection of closures with given argument. |
|
static
|
curry(GridClosure<? super T,R> c,
Collection<? extends T> args)
Curries collection of closures with given collection of arguments. |
|
static
|
curry(GridInClosure<? super T> c,
Collection<? extends T> args)
Curries collection of closures with given collection of arguments. |
|
static
|
curry(int cnt,
GridClosure<? super T,R> c,
GridOutClosure<T> pdc)
Curries collection of closures with given collection of arguments. |
|
static
|
curry(int cnt,
GridInClosure<? super T> c,
GridOutClosure<T> pdc)
Curries collection of closures with given collection of arguments. |
|
static
|
curry0(Collection<? extends GridInClosure<? super T>> in,
Collection<? extends T> args)
Curries collection of in closures with given collection of arguments. |
|
static
|
curry2(Collection<? extends GridClosure2<? super T1,T2,R>> iter,
T1 arg)
Curries collection of closures with given argument. |
|
static
|
curry3(Collection<? extends GridClosure3<? super T1,T2,T3,R>> iter,
T1 arg)
Curries collection of closures with given argument. |
|
static
|
dedup(Collection<? extends T> c)
Creates new collection by removing duplicates from the given collection. |
|
static
|
doWhile(Callable<R> body,
GridAbsPredicate cond)
Executes given body until provided condition evaluates to
true via do-while Java loop (test-after). |
|
static void |
doWhile(GridAbsClosure body,
GridAbsPredicate cond)
Executes given body until provided condition evaluates to
true via do-while Java loop (test-after). |
|
static
|
drop(Iterable<T> c,
GridPredicate<? super T>... p)
Removes elements in-place from given collection. |
|
static
|
emptyIterator()
Creates new empty iterator. |
|
static boolean |
eq(Object o1,
Object o2)
Tests whether specified arguments are equal, or both null. |
|
static boolean |
eqArray(Object[] a1,
Object[] a2,
boolean sorted,
boolean dups)
Compares two arrays. |
|
static boolean |
eqNodes(Object n1,
Object n2)
Compares two GridNode instances for equality. |
|
static boolean |
eqNotOrdered(Collection<?> c1,
Collection<?> c2)
Checks if both collections have equal elements in any order. |
|
static boolean |
eqOrdered(Collection<?> c1,
Collection<?> c2)
Checks if both collections have equal elements in the same order. |
|
static
|
equalTo(T target)
Gets predicate that evaluates to true if its free variable is equal
to target or both are null. |
|
static GridPredicate<GridEvent> |
eventAfter(long tstamp)
Gets event predicate that returns true only if event was produced
after given timestamp. |
|
static GridPredicate<GridEvent> |
eventId(GridUuid... ids)
Gets event predicate that returns true only if event id is one of the given. |
|
static GridPredicate<GridEvent> |
eventNode(Collection<? extends GridRichNode> nodes)
Gets event predicate that returns true only if node that produced the event
is one of the given. |
|
static GridPredicate<GridEvent> |
eventNode(String gridName,
GridPredicate<? super GridRichNode>... p)
Gets event predicate that returns true only if node that produced the event
satisfies all given predicates. |
|
static GridPredicate<GridEvent> |
eventNodeId(UUID... nodeIds)
Gets event predicate that returns true only if event was produced on one of
given nodes (specified by ids). |
|
static GridPredicate<GridEvent> |
eventType(int... types)
Gets event predicate that returns true only if event type is one of the given. |
|
static
|
exist(Iterable<? extends V> c,
GridPredicate<? super V>... p)
Checks for existence of the element in input collection for which all provided predicates evaluate to true. |
|
static
|
exist(Map<K,V> m,
GridPredicate<? super Map.Entry<K,V>>... p)
Checks for existence of the entry in input map for which all provided predicates evaluate to true. |
|
static
|
exist(V[] c,
GridPredicate<? super V>... p)
Checks for existence of the element in input array for which all provided predicates evaluate to true. |
|
static
|
factory(Class<T> cls)
Creates and returns new factory closure for the given type. |
|
static
|
find(Iterable<? extends V> c,
V dfltVal,
GridPredicate<? super V>... p)
Finds and returns first element in given collection for which any of the provided predicates evaluates to true. |
|
static
|
find(Iterable<? extends V> c,
Y dfltVal,
GridClosure<? super V,Y> f,
GridPredicate<? super V>... p)
Finds, transforms and returns first element in given collection for which any of the provided predicates evaluates to true. |
|
static
|
find(V[] c,
V dfltVal,
GridPredicate<? super V>... p)
Finds and returns first element in given array for which any of the provided predicates evaluates to true. |
|
static
|
find(V[] c,
Y dfltVal,
GridClosure<? super V,Y> f,
GridPredicate<? super V>... p)
Finds, transforms and returns first element in given array for which any of the provided predicates evaluates to true. |
|
static GridPredicate<GridFuture<?>> |
finishedFutures()
Returns predicate for filtering finished futures. |
|
static
|
first(Iterable<? extends T> c)
Gets first element from given collection or returns null if the collection is empty. |
|
static
|
firstEntry(Map<K,V> m)
Gets first key from given map or returns null if the map is empty. |
|
static
|
firstKey(Map<K,?> m)
Gets first key from given map or returns null if the map is empty. |
|
static
|
firstValue(Map<?,V> m)
Gets first value from given map or returns null if the map is empty. |
|
static
|
flat(Collection<? extends Collection<T>> c)
Flattens collection-of-collections and returns collection over the elements of the inner collections. |
|
static
|
flat(Iterable<? extends Iterable<T>> c)
Flattens iterable-of-iterables and returns iterable over the elements of the inner collections. |
|
static Collection<Object> |
flat0(Object... objs)
Flattens given set objects into a single collection. |
|
static
|
fold(D[] c,
B b,
GridClosure2<? super D,? super B,B>... fs)
Folds-right given array using provided closure. |
|
static
|
fold(Iterable<? extends D> c,
B b,
GridClosure2<? super D,? super B,B>... fs)
Folds-right given collection using provided closure. |
|
static
|
forAll(Iterable<? extends V> c,
GridPredicate<? super V>... p)
Applies all given predicates to all elements in given input collection and returns true if all of them evaluate to true for all elements. |
|
static
|
forAll(Map<K,V> m,
GridPredicate<? super Map.Entry<K,V>>... p)
Applies given predicates to all entries in given input map and returns true
if all of them evaluates to true for all entries. |
|
static
|
forAll(V[] c,
GridPredicate<? super V>... p)
Applies all given predicates to all elements in given input array and returns true
if all of them evaluate to true for all elements. |
|
static
|
forAny(Iterable<? extends V> c,
GridPredicate<? super V>... p)
Applies all given predicates to all elements in given input collection and returns true if all predicates evaluate to true for at least one element. |
|
static
|
forAny(Map<K,V> m,
GridPredicate<? super Map.Entry<K,V>>... p)
Applies given predicates to all entries in given input map and returns true
if all of them evaluates to true for at least one entry. |
|
static
|
forAny(V[] c,
GridPredicate<? super V>... p)
Applies all given predicates to all elements in given input array and returns true
if all of them evaluate to true for at least one element. |
|
static
|
forEach(Iterable<? extends X> c,
GridInClosure<? super X> f,
GridPredicate<? super X>... p)
Calls given side-effect only closure over the each element of the provided
collection. |
|
static
|
forEach(Map<? extends K,? extends V> m,
GridInClosure<? super GridTuple2<K,V>> f,
GridPredicate<? super GridTuple2<K,V>>... p)
Calls given side-effect only closure (if provided) over the each element of the
provided map. |
|
static
|
forEach(X[] c,
GridInClosure<? super X> f,
GridPredicate<? super X>... p)
Calls given side-effect only closure over the each element of the provided array. |
|
static
|
forMap(Map<? extends K,? extends V> m)
Gets closure that wraps given map access, i.e. returns map's value assuming that free variable is a map's key. |
|
static
|
forMap(Map<? extends K,? extends V> m,
Callable<V> c)
Gets closure that wraps given map's access, i.e. returns map's value assuming that free variable is a map's key or default value produced by optional factory closure if key has no mapping. |
|
static
|
future()
Gets closure that converts GridFuture to Future. |
|
static double |
gavg(Iterable<? extends Number> c)
Calculates geometric mean. |
|
static
|
gavgReducer()
Gets reducer closure that calculates geometric mean. |
|
static double |
havg(Iterable<? extends Number> c)
Calculates harmonic mean. |
|
static
|
havgReducer()
Gets reducer closure that calculates harmonic mean. |
|
static GridClosure<UUID,String> |
id2id8()
Gets closure which converts node ID to node ID8 representation (shorter and good enough). |
|
static Collection<String> |
id8s(Collection<UUID> ids)
Convenient utility method that returns collection of node ID8s for a given collection of node IDs. |
|
static
|
identity()
Gets identity closure, i.e. the closure that returns its variable value. |
|
static
|
identityReducer(T elem)
Gets reducer which always returns true from GridReducer.collect(Object)
method and passed in element from GridOutClosure.apply() method. |
|
static GridPredicate<UUID> |
idForNodeId(UUID nodeId)
Creates UUID predicate evaluating on the given node ID. |
|
static GridPredicate<UUID> |
idForNodeIds(Collection<UUID> nodeIds)
Creates UUID predicate evaluating on the given node IDs. |
|
static GridPredicate<UUID> |
idForNodeIds(UUID... nodeIds)
Creates UUID predicate evaluating on the given node IDs. |
|
static
|
in(Collection<? extends T> c)
Gets predicate that returns true if its free variable is contained
in given collection. |
|
static
|
in(T[] c)
Gets predicate that returns true if its free variable is contained
in given array. |
|
static
|
instanceOf(Class<?> cls)
Gets predicate that evaluates to true if its free variable is instance of the given class. |
|
static
|
intersects(Iterable<E> s1,
Collection<E>... s2)
Checks if two collections passed in intersect. |
|
static
|
isAll(T t,
GridPredicate<? super T>... p)
Tests if all provided predicates evaluate to true for given value. |
|
static
|
isAll(T t,
Iterable<? extends GridPredicate<? super T>> p)
Tests if all provided predicates evaluate to true for given value. |
|
static
|
isAll2(A a,
B b,
GridPredicate2<? super A,? super B> p)
Tests if all provided predicates evaluate to true for given values. |
|
static
|
isAll2(A a,
B b,
GridPredicate2<? super A,? super B>[] p)
Tests if all provided predicates evaluate to true for given values. |
|
static
|
isAll2(A a,
B b,
Iterable<? extends GridPredicate2<? super A,? super B>> p)
Tests if all provided predicates evaluate to true for given values. |
|
static
|
isAll3(A a,
B b,
C c,
GridPredicate3<? super A,? super B,? super C>... p)
Tests if all provided predicates evaluate to true for given values. |
|
static
|
isAll3(A a,
B b,
C c,
Iterable<? extends GridPredicate3<? super A,? super B,? super C>> p)
Tests if all provided predicates evaluate to true for given values. |
|
static boolean |
isAlwaysFalse(GridPredicate p)
Tests whether or not given predicate is the one returned from GridFunc.alwaysFalse() method. |
|
static boolean |
isAlwaysFalse(GridPredicate[] p)
Tests whether or not given set of predicates consists only of one predicate returned from GridFunc.alwaysFalse() method. |
|
static boolean |
isAlwaysTrue(GridPredicate p)
Tests whether or not given predicate is the one returned from GridFunc.alwaysTrue() method. |
|
static boolean |
isAlwaysTrue(GridPredicate[] p)
Tests whether or not given set of predicates consists only of one predicate returned from GridFunc.alwaysTrue() method. |
|
static
|
isAny(T t,
GridPredicate<? super T>... p)
Tests if any of provided predicates evaluate to true for given value. |
|
static
|
isAny(T t,
Iterable<? extends GridPredicate<? super T>> p)
Tests if any of provided predicates evaluate to true for given value. |
|
static
|
isAny2(A a,
B b,
GridPredicate2<? super A,? super B>... p)
Tests if any of provided predicates evaluate to true for given values. |
|
static
|
isAny2(A a,
B b,
Iterable<? extends GridPredicate2<? super A,? super B>> p)
Tests if any of provided predicates evaluate to true for given values. |
|
static
|
isAny3(A a,
B b,
C c,
GridPredicate3<? super A,? super B,? super C>... p)
Tests if any of provided predicates evaluate to true for given values. |
|
static
|
isAny3(A a,
B b,
C c,
Iterable<? extends GridPredicate3<? super A,? super B,? super C>> p)
Tests if any of provided predicates evaluate to true for given values. |
|
static boolean |
isEmpty(Collection<?> c)
Tests if the given collection is either null or empty. |
|
static boolean |
isEmpty(int[] c)
Tests if the given array is either null or empty. |
|
static boolean |
isEmpty(Iterable<?> c)
Tests if the given collection is either null or empty. |
|
static boolean |
isEmpty(Map<?,?> m)
Tests if the given map is either null or empty. |
|
static boolean |
isEmpty(String s)
Tests if given string is null or empty. |
|
static
|
isEmpty(T[] c)
Tests if the given array is either null or empty. |
|
static
|
isNull()
Gets predicate that evaluates to true if its free variable is null. |
|
static
|
iterable(Collection<? extends T> c,
GridPredicate<? super T>... p)
Creates and returns iterable from given collection and optional filtering predicates. |
|
static
|
iterator(Collection<? extends T1> c,
GridClosure<? super T1,T2> trans,
boolean readOnly,
GridPredicate<? super T1>... p)
Creates and returns transforming iterator from given collection and optional filtering predicates. |
|
static
|
iterator0(Collection<? extends T> c,
boolean readOnly,
GridPredicate<? super T>... p)
Creates and returns iterator from given collection and optional filtering predicates. |
|
static GridTuple2<String,Object> |
jexl(String var,
Object val)
Special version of GridFunc.t(Object, Object) method that is tailored for
with(...) method in JEXL-based predicates to set up the external context for JEXL evaluation. |
|
static GridJob |
job(Callable<?> c)
Converts given closure to a grid job. |
|
static GridJob |
job(Runnable r)
Converts given closure to a grid job. |
|
static GridOutClosure<GridJob> |
jobProducer(GridJob[] c,
boolean cyclic)
Gets closure that wraps access to the given collection of GridJob instances. |
|
static GridOutClosure<GridJob> |
jobProducer(Iterable<? extends GridJob> jobs,
boolean cyclic)
Gets closure that wraps access to the given collection of GridJob instances. |
|
static
|
jobResults(Collection<? extends GridJobResult> res)
Gets collections of data items from grid job res casted to specified type. |
|
static
|
last(Iterable<? extends T> c)
Gets last element from given collection or returns null if the collection is empty. |
|
static GridAbsPredicate |
limit(int n)
Gets absolute (no-arg) predicate that returns true first n-times
it's called - and false thereafter. |
|
static
|
localNode(UUID localNodeId)
Gets predicate that evaluates to true only for given local node ID. |
|
static
|
lose(Collection<? extends T> c,
boolean copy,
int num)
Loses up to first num elements of the input collection. |
|
static
|
lose(Collection<T> c,
boolean copy,
Collection<T0> filter)
Loses all elements in input collection that are contained in filter collection. |
|
static
|
lose(Collection<T> c,
boolean copy,
GridPredicate<? super T>... p)
Loses all elements in input collection that are evaluated to true by
all given predicates. |
|
static
|
lose(Map<K,V> m,
boolean copy,
GridPredicate<? super Map.Entry<K,V>>... p)
Loses all entries in input map that are evaluated to true by all given predicates. |
|
static
|
loseKeys(Map<K,V> m,
boolean copy,
GridPredicate<? super K>... p)
Loses all entries in input map which keys are evaluated to true by all
given predicates. |
|
static
|
loseList(List<T> c,
boolean copy,
Collection<? super T> filter)
Loses all elements in input list that are contained in filter collection. |
|
static
|
loseSet(Set<T> c,
boolean copy,
Collection<? super T> filter)
Loses all elements in input set that are contained in filter collection. |
|
static
|
loseValues(Map<K,V> m,
boolean copy,
GridPredicate<? super V>... p)
Loses all entries in input map which values are evaluated to true by all
given predicates. |
|
static
|
mapEntry2Key()
Gets closure that returns key for an entry. |
|
static
|
mapEntry2Value()
Gets closure that returns value for an entry. |
|
static
|
mapKey(K key)
Gets utility predicate that accepts Map.Entry value and compares its key
to the given value. |
|
static
|
mapValue(V val)
Gets utility predicate that accepts Map.Entry value and compares
its value to the given value. |
|
static
|
meta(Collection<? extends GridMetadataAware> objs,
String name)
Convenient utility method that returns collections of metadata values for a given collection of metadata aware objects. |
|
static
|
meta(Iterable<String> names)
Creates predicate that accepts subclass of GridMetadataAware interface and
evaluates to true if it contains given metadata names (values are ignored). |
|
static
|
meta(Map<String,?> meta)
Creates predicate that accepts subclass of GridMetadataAware interface
and evaluates to true if it contains all provided metadata. |
|
static
|
meta(String... names)
Creates predicate that accepts subclass of GridMetadataAware interface
and evaluates to true if it contains given metadata names (values are ignored). |
|
static
|
meta(String name,
Object val)
Creates predicate that accepts subclass of GridMetadataAware interface
and evaluates to true if it contains given metadata. |
|
static
|
metaEntry(Collection<? extends Map.Entry<String,?>> meta)
Creates predicate that accepts subclass of GridMetadataAware interface
and evaluates to true if it contains all provided metadata. |
|
static
|
metaEntry(Map.Entry<String,?>... meta)
Creates predicate that accepts subclass of GridMetadataAware
interface and evaluates to true if it contains all provided metadata. |
|
static GridOutClosure<AtomicBoolean> |
newAtomicBoolean()
Returns a factory closure that creates new AtomicBoolean instance
initialized to false. |
|
static GridOutClosure<AtomicInteger> |
newAtomicInt()
Returns a factory closure that creates new AtomicInteger instance
initialized to zero. |
|
static GridOutClosure<AtomicLong> |
newAtomicLong()
Returns a factory closure that creates new AtomicLong instance
initialized to zero. |
|
static
|
newAtomicRef()
Returns a factory closure that creates new AtomicReference instance
initialized to null. |
|
static
|
newCMap()
Returns a factory closure that creates new ConcurrentMap instance. |
|
static
|
newCSet()
Returns a factory closure that creates new GridConcurrentHashSet instance. |
|
static
|
newLinkedList()
Returns a factory closure that creates new LinkedList instance. |
|
static
|
newList()
Returns a factory closure that creates new List instance. |
|
static
|
newMap()
Returns a factory closure that creates new Map instance. |
|
static
|
newSet()
Returns a factory closure that creates new Set instance. |
|
static
|
nill()
Returns out closure that always returns null. |
|
static GridClosure<GridNode,UUID> |
node2id()
Gets closure which converts node to node ID. |
|
static GridClosure<GridNode,String> |
node2id8()
Gets closure which converts node to node ID8 representation (shorter and good enough). |
|
static
|
nodeAttributes(Collection<? extends GridNode> nodes,
String attr)
Convenient utility method that returns collection of node attributes for a given collection of grid nodes. |
|
static
|
nodeForNodeId(UUID nodeId)
Creates grid node predicate evaluating on the given node ID. |
|
static
|
nodeForNodeIds(Collection<UUID> nodeIds)
Creates grid node predicate evaluating on the given node IDs. |
|
static
|
nodeForNodeIds(UUID... nodeIds)
Creates grid node predicate evaluating on the given node IDs. |
|
static GridPredicate<GridRichNode> |
nodeForNodes(Collection<? extends GridNode> nodes)
Creates predicates that evaluates to true for each node in given collection. |
|
static GridPredicate<GridRichNode> |
nodeForNodes(GridRichNode... nodes)
Creates predicates that evaluates to true for each node in given collection. |
|
static Collection<String> |
nodeId8s(Collection<? extends GridNode> nodes)
Convenient utility method that returns collection of node ID8s for a given collection of grid nodes. |
|
static Collection<UUID> |
nodeIds(Collection<? extends GridNode> nodes)
Convenient utility method that returns collection of node IDs for a given collection of grid nodes. |
|
static GridAbsClosure |
noop()
Creates an absolute (no-arg) closure that does nothing. |
|
static
|
not(GridPredicate<? super T>... p)
Negates given predicates. |
|
static
|
notContains(Collection<T> c)
Provides predicate which returns true if it receives an element
that is not contained in the passed in collection. |
|
static
|
notEqualTo(T target)
Gets predicate that evaluates to true if its free variable is not equal
to target or both are null. |
|
static
|
notIn(Collection<? extends T> c)
Gets predicate that returns true if its free variable is not
contained in given collection. |
|
static
|
notIn(T[] c)
Gets predicate that returns true if its free variable is not
contained in given array. |
|
static
|
notInstanceOf(Class<?> cls)
Gets predicate that evaluates to true if its free variable is not an instance
of the given class. |
|
static
|
notNull()
Gets predicate that evaluates to true if its free variable is not null. |
|
static
|
opt(GridOpt<T> opt,
GridClosure<T,R> c,
R dfltVal)
Converts given option and closure into output closure that does nothing and returns default value if option is a none value, or applies input closure and returns
its value if option is some value. |
|
static
|
opt(GridOpt<T> opt,
GridInClosure<? super T> c)
Converts given option and closure into absolute closure that does nothing if option is a none value, or applies in closure if option is some value. |
|
static
|
or(Collection<? extends GridPredicate<? super T>> ps)
Get a predicate that evaluates to true if any of its component
predicates evaluates to true. |
|
static
|
or(GridPredicate<? super D> pa,
GridPredicate<? super B> pb)
Gets OR-composition predicate out of two provided predicates. |
|
static
|
or(GridPredicate<? super T>... ps)
Get a predicate that evaluates to true if any of its component predicates
evaluates to true. |
|
static
|
or(GridPredicate<? super T>[] p1,
GridPredicate<? super T>... p2)
Get a predicate that evaluates to true if any of its component predicates
evaluates to true. |
|
static Collection<GridJob> |
outJobs(Callable<?>... c)
Converts array of out closures to the collection of grid jobs. |
|
static
|
outJobs(Collection<? extends T> c)
Converts collection of out closures to the read only collection of grid jobs. |
|
static
|
pair(T t1,
T t2)
Creates pair out of given two objects. |
|
static
|
partition(Iterable<? extends V> c,
GridPredicate<? super V> p)
Partitions input collection in two: first containing elements for which given predicate evaluates to true - and second containing the elements for which
predicate evaluates to false. |
|
static
|
partition(Map<? extends K,? extends V> m,
GridPredicate2<? super K,? super V> p)
Partitions input map in two: first containing entries for which given predicate evaluates to true - and second containing the entries for which predicate evaluates to false. |
|
static
|
partition(V[] c,
GridPredicate<? super V> p)
Partitions input array in two: first containing elements for which given predicate evaluates to true - and second containing the elements for which predicate
evaluates to false. |
|
static GridClosure<GridProjection,GridPredicate<GridRichNode>> |
predicate()
Gets closure that transform a grid projection into its predicate. |
|
static
|
print()
Gets closure that prints out its bound variable |
|
static GridAbsClosure |
print(String msg)
Creates absolute closure that does System.out.print(msg). |
|
static
|
print(String pre,
String post)
Gets closure that prints out its bound variable. |
|
static
|
printf(String fmt)
Gets closure that prints out its bound variable. |
|
static
|
println()
Gets closure that calls System.out.println() on its bound variable. |
|
static GridAbsClosure |
println(String msg)
Creates absolute closure that does System.out.println(msg). |
|
static
|
println(String pre,
String post)
Gets closure that prints out its bound variable. |
|
static
|
producer(Iterable<? extends T> c,
boolean cyclic)
Gets closure that wraps access to the given collection. |
|
static
|
producer(T[] c,
boolean cyclic)
Gets closure that wraps access to the given collection. |
|
static double |
qavg(Iterable<? extends Number> c)
Calculates quadratic mean. |
|
static
|
qavgReducer()
Gets reducer closure that calculates quadratic mean. |
|
static GridClosure<Runnable,GridAbsClosure> |
r2c()
Returns closure that converts Runnable to GridAbsClosure. |
|
static
|
rand(Collection<? extends T> c)
Gets random value from given collection. |
|
static
|
rand(List<T> l)
Gets random value from given list. |
|
static
|
rand(T... c)
Gets random value from given array. |
|
static List<Integer> |
range(int fromIncl,
int toExcl)
Creates a range list containing numbers in given range. |
|
static
|
reduce(Iterable<? extends X> c,
GridReducer<? super X,Y> f)
Reduces collection into single value using given for-all closure. |
|
static
|
reduce(Map<? extends X,? extends Y> m,
GridReducer2<? super X,? super Y,R> f)
Reduces given map into single value using given for-all closure. |
|
static
|
remoteNodes(UUID locNodeId)
Gets predicate that evaluates to false for given local node ID. |
|
static
|
retain(Collection<T> c,
boolean copy,
Collection<? extends T0> filter)
Retains all elements in input collection that are contained in filter. |
|
static
|
retain(Collection<T> c,
boolean copy,
GridPredicate<? super T>... p)
Retains all elements in input collection that are evaluated to true
by all given predicates. |
|
static
|
retain(Collection<T> c,
boolean copy,
int num)
Retains only up to first num elements in the input collection. |
|
static
|
retain(Map<K,V> m,
boolean copy,
GridPredicate<? super Map.Entry<K,V>>... p)
For a given map retains all map entries that satisfy all provided predicates. |
|
static
|
retainKeys(Map<K,V> m,
boolean copy,
GridPredicate<? super K>... p)
For a given map retains all map entries which keys satisfy all provided predicates. |
|
static
|
retainValues(Map<K,V> m,
boolean copy,
GridPredicate<? super V>... p)
For a given map retains all map entries which values satisfy all provided predicates. |
|
static
|
returnIfAbsent(Map<? extends K,? extends V> map,
K key,
Callable<V> c)
Utility map getter. |
|
static
|
singleReducer()
Gets reducer closure that collects only a single value and returns it without any transformations. |
|
static
|
size(Collection<? extends T> c,
GridPredicate<? super T>... p)
Gets size of the given collection with provided optional predicates. |
|
static
|
size(Iterator<? extends T> it,
GridPredicate<? super T>... p)
Gets size of the given iterator with provided optional predicates. |
|
static
|
size(T[] c,
GridPredicate<? super T>... p)
Gets size of the given array with provided optional predicates. |
|
static
|
split(Collection<T> c,
GridPredicate<? super T>... p)
Splits given collection in two using provided set of predicates. |
|
static
|
string()
Gets closure that return toString() value for its free variable. |
|
static BigDecimal |
sum(Iterable<BigDecimal> c)
Calculates sum of all elements. |
|
static BigInteger |
sum(Iterable<BigInteger> c)
Calculates sum of all elements. |
|
static double |
sum(Iterable<Double> c)
Calculates sum of all elements. |
|
static int |
sum(Iterable<Integer> c)
Calculates sum of all elements. |
|
static GridReducer<BigDecimal,BigDecimal> |
sumBigDecimalReducer()
Gets reducer closure that calculates sum of all elements. |
|
static GridReducer<BigInteger,BigInteger> |
sumBigIntegerReducer()
Gets reducer closure that calculates sum of all elements. |
|
static GridReducer<Double,Double> |
sumDoubleReducer()
Gets reducer closure that calculates sum of all elements. |
|
static GridReducer<Integer,Integer> |
sumIntReducer()
Gets reducer closure that calculates sum of elements. |
|
static
|
t(V v)
Factory method returning new tuple with given parameter. |
|
static
|
t(V1 v1,
V2 v2)
Factory method returning new tuple with given parameters. |
|
static
|
t(V1 v1,
V2 v2,
V3 v3)
Factory method returning new tuple with given parameters. |
|
static
|
t(V1 v1,
V2 v2,
V3 v3,
V4 v4)
Factory method returning new tuple with given parameters. |
|
static
|
t(V1 v1,
V2 v2,
V3 v3,
V4 v4,
V5 v5)
Factory method returning new tuple with given parameters. |
|
static
|
t1()
Factory method returning empty tuple. |
|
static
|
t2()
Factory method returning new empty tuple. |
|
static
|
t3()
Factory method returning new empty tuple. |
|
static
|
t4()
Factory method returning new empty tuple. |
|
static
|
t5()
Factory method returning new empty tuple. |
|
static
|
transform(Collection<? extends X> c,
GridClosure<? super X,Y> f)
Transforms one collection to another using provided closure. |
|
static
|
transform(Collection<? extends X> c,
GridClosure<? super X,Y> f,
GridPredicate<? super X>... p)
Transforms one collection to another using provided closure and optional set of predicates. |
|
static
|
transform(Collection<Y> to,
Iterable<? extends X> from,
GridClosure<? super X,Y> f,
GridPredicate<? super X>... p)
Transforms one collection to another using provided closure and predicate. |
|
static
|
transform(X[] c,
GridClosure<? super X,Y> f)
Transforms an array to read only collection using provided closure. |
|
static
|
transformList(Collection<? extends T1> c,
GridClosure<? super T1,T2> trans,
GridPredicate<? super T1>... p)
Creates a view on given list with provided transformer and predicates. |
|
static
|
transformSet(Collection<? extends T1> c,
GridClosure<? super T1,T2> trans,
GridPredicate<? super T1>... p)
Creates a view on given set with provided transformer and predicates. |
|
static
|
triple(T t1,
T t2,
T t3)
Creates triple out of given three objects. |
|
static GridTupleV |
tv(Object... objs)
Creates vararg tuple with given values. |
|
static GridPredicate<GridFuture<?>> |
unfinishedFutures()
Returns predicate for filtering unfinished futures. |
|
static
|
upcast(Collection<? extends X> c,
GridClosure<? super X,Y> f)
Special version of transform method that works on two types that are in child-parent
relationship. |
|
static
|
view(Collection<T> c,
GridPredicate<? super T>... p)
Creates write-through light-weight view on given collection with provided predicates. |
|
static
|
view(Map<K,V> m,
GridPredicate<? super K>... p)
Creates light-weight view on given map with provided predicates. |
|
static
|
viewListReadOnly(List<? extends T1> c,
GridClosure<? super T1,T2> trans)
Creates read-only light-weight view on given list with provided transformation. |
|
static
|
viewReadOnly(Collection<? extends T1> c,
GridClosure<? super T1,T2> trans,
GridPredicate<? super T1>... p)
Creates read-only light-weight view on given collection with transformation and provided predicates. |
|
static
|
viewReadOnly(Map<K,V> m,
GridClosure<V,V1> trans,
GridPredicate<? super K>... p)
Read-only view on map that supports transformation of values and key filtering. |
|
static double |
wavg(Collection<? extends Number> c,
Collection<? extends Number> w)
Calculates weighted mean. |
|
static
|
whileDo(Callable<R> body,
GridAbsPredicate cond)
Executes given body until provided condition evaluates to
true via while-do Java loop (test-before). |
|
static void |
whileDo(GridAbsClosure body,
GridAbsPredicate cond)
Executes given body until provided condition evaluates to
true via while-do Java loop (test-before). |
|
static GridClosureException |
wrap(Throwable e)
Shortcut method that creates an instance of GridClosureException. |
|
static
|
x1(String expr)
Utility shortcut for creating JEXL predicate. |
|
static
|
x1(String expr,
String var)
Utility shortcut for creating JEXL predicate. |
|
static
|
x2(String expr)
Utility shortcut for creating JEXL predicate. |
|
static
|
x2(String expr,
String var1,
String var2)
Utility shortcut for creating JEXL predicate. |
|
static
|
x3(String expr)
Utility shortcut for creating JEXL predicate. |
|
static
|
x3(String expr,
String var1,
String var2,
String var3)
Utility shortcut for creating JEXL predicate. |
|
static
|
yield(Collection<? extends T> c,
GridClosure<? super T,R> f)
Given collection of items and a closure this method returns read only collection of closures where each closure is closed on an element of the initial collection. |
|
static
|
yield(Collection<? extends T> c,
GridInClosure<? super T> f)
Given collection of items and a closure this method returns read-only collection of closures where each closure is closed on an element of the initial collection. |
|
static
|
yield(T[] c,
GridClosure<? super T,R> f)
Given array of items and a closure this method returns collection of closures where each closure is closed on a element of the array. |
|
static
|
yield(T[] c,
GridInClosure<? super T> f)
Given collection of items and a closure this method returns collection of closures where each closure is closed on an element of the initial collection. |
|
static
|
zip(Collection<? extends K> keys,
Collection<? extends V> vals)
Converts 2 collections into map using first collection as keys and second collection as values. |
|
static
|
zip(Collection<? extends K> keys,
V dfltVal)
Converts collection to map using collection values as keys and passed in default value as values. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public GridFunc()
| Method Detail |
|---|
public static <T> GridPredicate<T> breaker(boolean firstVal)
firstVal when checked the first time,
but then will always evaluate to the opposite value.
T - Predicate type.firstVal - First value.
public static GridClosure<GridProjection,GridPredicate<GridRichNode>> predicate()
public static <T extends GridNode> GridPredicate<T> localNode(UUID localNodeId)
true only for given local node ID.
T - Type of the node.localNodeId - Local node ID.
true only for the node with given local node ID.public static <T extends GridNode> GridPredicate<T> remoteNodes(UUID locNodeId)
false for given local node ID.
T - Type of the node.locNodeId - Local node ID.
false for the given local node ID.public static <T> GridOutClosure<T> nill()
null.
null.public static <T,R> GridClosure<T,R> cInvoke(String mtdName, Object... args)
Method reflects the typedef for GridClosure which is C1.
GridClosureException - Thrown in case of any reflective invocation errors.R - Type of closure return value.T - Type of closure argument.mtdName - Method name.args - Optional set of arguments for the method call.
public static <T> GridInClosure<T> ciInvoke(String mtdName, Object... args)
Method reflects the typedef for GridClosure which is C1.
GridClosureException - Thrown in case of any reflective invocation errors.T - Type of closure argument.mtdName - Method name.args - Optional set of arguments for the method call.
public static <R> GridOutClosure<R> coInvoke(Object o, String mtdName, Object... args)
Method reflects the typedef for GridOutClosure which is CO.
GridClosureException - Thrown in case of any reflective invocation errors.R - Type of closure return value.o - Target object to call the method on.mtdName - Method name.args - Optional set of arguments for the method call.
public static GridAbsClosure caInvoke(Object o,
String mtdName,
@Nullable
Object... args)
Method reflects the typedef for GridAbsClosure which is CA.
GridClosureException - Thrown in case of any reflective invocation errors.o - Target object to call the method on.mtdName - Method name.args - Optional set of arguments for the method call.
public static <R> GridOutClosure<R> coInvoke(Class<?> cls, String mtdName, @Nullable Object... args)
Method reflects the typedef for GridOutClosure which is CO.
GridClosureException - Thrown in case of any reflective invocation errors.R - Type of closure return value.cls - Class to call a static method on.mtdName - Method name.args - Optional set of arguments for the method call.
public static GridAbsClosure caInvoke(Class<?> cls, String mtdName, @Nullable Object... args)
Method reflects the typedef for GridAbsClosure which is CA.
GridClosureException - Thrown in case of any reflective invocation errors.cls - Class to call a static method on.mtdName - Method name.args - Optional set of arguments for the method call.
public static GridClosure<Object,Class<?>> clazz()
public static <T> Collection<T> dedup(Collection<? extends T> c)
T - Type of the collection.c - Collection to remove duplicates from.
public static int sum(Iterable<Integer> c)
c - Collection of elements.
public static double sum(Iterable<Double> c)
c - Collection of elements.
public static BigDecimal sum(Iterable<BigDecimal> c)
c - Collection of elements.
public static BigInteger sum(Iterable<BigInteger> c)
c - Collection of elements.
public static double avg(Iterable<? extends Number> c)
c - Input collection.
public static <T extends Number> GridReducer<T,Double> avgReducer()
public static double qavg(Iterable<? extends Number> c)
c - Input collection.
public static <T extends Number> GridReducer<T,Double> qavgReducer()
public static double gavg(Iterable<? extends Number> c)
c - Input collection.
public static <T extends Number> GridReducer<T,Double> gavgReducer()
public static double wavg(Collection<? extends Number> c, Collection<? extends Number> w)
c - Collection of elements.w - Collection of weights.
public static double havg(Iterable<? extends Number> c)
c - Input collection.
public static <T> GridReducer<T,T> singleReducer()
public static <T,R> GridReducer<T,R> continuousReducer(R elem)
true from GridReducer.collect(Object)
method and passed in element from GridOutClosure.apply() method.
T - Reducer element type.R - Return element type.elem - Element to return from GridOutClosure.apply() method.
public static <T> GridReducer<T,T> identityReducer(T elem)
true from GridReducer.collect(Object)
method and passed in element from GridOutClosure.apply() method.
T - Reducer element type.elem - Element to return from GridOutClosure.apply() method.
public static <T extends Number> GridReducer<T,Double> havgReducer()
public static GridReducer<Integer,Integer> sumIntReducer()
public static GridReducer<Double,Double> sumDoubleReducer()
public static List<Integer> range(int fromIncl, int toExcl)
fromIncl - Inclusive start of the range.toExcl - Exclusive stop of the range.
public static GridReducer<BigDecimal,BigDecimal> sumBigDecimalReducer()
public static GridReducer<BigInteger,BigInteger> sumBigIntegerReducer()
public static GridReducer<String,String> concatReducer(@Nullable String delim)
delim - Delimiter (optional).
public static String concat(Iterable<String> c, @Nullable String delim)
c - Input collection.delim - Delimiter (optional).
public static <T> Collection<T> jobResults(@Nullable Collection<? extends GridJobResult> res)
Here's the typical example of how this method is used in reduce() method
implementation (this example sums up all the values of Integer type):
public Integer reduce(List<GridJobResult> res) throws GridException {
return F.sum(F.<Integer>jobResults(res));
}
Note that this method doesn't create a new collection but simply iterates over the input one.
T - Type of the data item to cast to. See GridJobResult.getData() method.res - Collection of grid job res.
T.GridJobResult.getData()public static Collection<UUID> nodeIds(@Nullable Collection<? extends GridNode> nodes)
Note that this method doesn't create a new collection but simply iterates over the input one.
nodes - Collection of grid nodes.
public static Collection<String> nodeId8s(@Nullable Collection<? extends GridNode> nodes)
Note that this method doesn't create a new collection but simply iterates over the input one.
nodes - Collection of grid nodes.
public static Collection<String> id8s(@Nullable Collection<UUID> ids)
Note that this method doesn't create a new collection but simply iterates over the input one.
ids - Collection of nodeIds.
public static <T> Collection<T> nodeAttributes(Collection<? extends GridNode> nodes, String attr)
Note that this method doesn't create a new collection but simply iterates over the input one.
T - Type of the attribute.nodes - Collection of grid nodes.attr - Name of the attribute to return from each node.
public static <T> Collection<T> meta(Collection<? extends GridMetadataAware> objs, String name)
Note that this method doesn't create a new collection but simply iterates over the input one.
T - Type of the metadata.objs - Collection of metadata aware object.name - Name of the metadata.
public static <T> GridInClosure<T> println()
System.out.println() on its bound variable.
T - Type of the bound variable.
System.out.println() on its bound variable.public static GridAbsClosure println(String msg)
msg - Message to print.
public static GridAbsClosure print(String msg)
msg - Message to print.
public static <T> GridInClosure<T> println(@Nullable String pre, @Nullable String post)
T - Type of the bound variable.pre - String value to print before each variable.post - String value to print after each variable.
System.out.print(pre); System.out.print(t); System.out.println(post)
on its bound variable.public static <T> GridInClosure<T> printf(String fmt)
T - Type of the bound variable.fmt - Format string as for PrintStream.printf(String, Object...) method.
public static <T> GridInClosure<T> print()
public static <T> GridInClosure<T> print(@Nullable String pre, @Nullable String post)
pre - String value to print before each variable.post - String value to print after each variable.
public static <T> GridAbsClosure opt(GridOpt<T> opt, GridInClosure<? super T> c)
none value, or applies in closure if option is some value.
Note that peer deployment information will be copied from given in closure.
T - Type of the option and closure's free variable.opt - Option.c - Closure to apply if option is some value.
none value,
or applies input closure if option is some value.public static <T,R> GridOutClosure<R> opt(GridOpt<T> opt, GridClosure<T,R> c, R dfltVal)
none value, or applies input closure and returns
its value if option is some value. Note that peer deployment information will
be copied from given closure.
T - Type of the option and closure's free variable.R - Type of the return value.opt - Option.c - Closure to apply if option is some value.dfltVal - Default value to return in case if option is none value.
none value, or applies input closure and returns its value if
option is some value.public static <T> T rand(Collection<? extends T> c)
T - Type of the collection.c - Input collection.
public static <T> T rand(List<T> l)
T - Type of the list elements.l - Input collection.
public static <T> T rand(T... c)
T - Type of the collection.c - Input collection.
public static <T> Collection<T> concat(boolean copy, @Nullable T t, @Nullable Collection<T> c)
copy flag is true, then
a new collection will be created and the element and passed in collection will be
copied into the new one. The returned collection will be modifiable. If copy
flag is false, then a read-only view will be created over the element and given
collections and no copying will happen.
T - Element type.copy - Copy flag.t - First element.c - Second collection.
public static <T> Collection<T> concat(boolean copy, @Nullable Collection<T> c1, @Nullable Collection<T> c2)
copy flag is true, then
a new collection will be created and these collections will be copied into the
new one. The returned collection will be modifiable. If copy flag is
false, then a read-only view will be created over given collections
and no copying will happen.
T - Element type.copy - Copy flag.c1 - First collection.c2 - Second collection.
non-null collection.public static <T> T[] concat(@Nullable T[] arr, T... obj)
arr - Array.obj - One or more elements.
public static <T0,T extends T0> Collection<T> lose(Collection<T> c, boolean copy, @Nullable Collection<T0> filter)
filter collection.
T - Type of collections.c - Input collection.copy - If true method creates new collection not modifying input,
otherwise does in-place modifications.filter - Filter collection. If filter collection is empty or
null - no elements are lost.
public static <T> Collection<T> lose(Collection<T> c, boolean copy, @Nullable GridPredicate<? super T>... p)
true by
all given predicates.
T - Type of collections.c - Input collection.copy - If true method creates new collection without modifying the input one,
otherwise does in-place modifications.p - Predicates to filter by. If no predicates provided - no elements are lost.
public static <T> Collection<T> lose(Collection<? extends T> c, boolean copy, int num)
num elements of the input collection.
T - Type of the collections.c - Input collection.copy - If true method creates new collection not modifying input,
otherwise does in-place modifications.num - Maximum number of elements to lose (the actual number can be
less if the input collection contains less elements).
public static <K,V> Map<K,V> lose(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super Map.Entry<K,V>>... p)
true by all given predicates.
K - Type of the free variable for the predicate and type of map's keys.V - Type of the free variable for the predicate and type of map's values.m - Map to filter.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicates to use for filtration. If none provided - original map
will (or its copy) be returned.
public static <K,V> Map<K,V> loseKeys(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super K>... p)
true by all
given predicates.
K - Type of the free variable for the predicate and type of map's keys.V - Type of map's values.m - Map to filter.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicates to use for filtration. If none provided - original
map (or its copy) will be returned.
public static <K,V> Map<K,V> loseValues(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super V>... p)
true by all
given predicates.
K - Type of the free variable for the predicate and type of map's keys.V - Type of map's values.m - Map to filter.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicates to use for filtration. If none provided - original
map (or its copy) will be returned.
public static <T> List<T> loseList(List<T> c, boolean copy, @Nullable Collection<? super T> filter)
filter collection.
T - Type of list.c - Input list.copy - If true method creates new list not modifying input,
otherwise does in-place modifications.filter - Filter collection. If filter collection is empty or
null - no elements are lost.
public static <T> Set<T> loseSet(Set<T> c, boolean copy, @Nullable Collection<? super T> filter)
filter collection.
T - Type of set.c - Input set.copy - If true method creates new list not modifying input,
otherwise does in-place modifications.filter - Filter collection. If filter collection is empty or
null - no elements are lost.
public static <T> Iterable<T> drop(Iterable<T> c, @Nullable GridPredicate<? super T>... p)
true will be removed from the
passed in collection. Note that collection must support removal.
T - Type of the collection.c - Input collection that should support removal.p - Optional set of predicates. If no predicates provided - no elements will be
dropped and input collection will be returned.
public static GridClosure<GridNode,UUID> node2id()
public static GridClosure<GridNode,String> node2id8()
public static GridClosure<UUID,String> id2id8()
public static <T extends GridNode> GridPredicate<T> nodeForNodeId(UUID nodeId)
nodeId - Node ID for which returning predicate will evaluate to true.
GridFunc.idForNodeId(UUID),
GridFunc.nodeIds(Collection)public static <T extends GridNode> GridPredicate<T> nodeForNodeIds(@Nullable Collection<UUID> nodeIds)
nodeIds - Collection of node IDs.
GridFunc.idForNodeId(UUID),
GridFunc.nodeIds(Collection)public static <T extends GridNode> GridPredicate<T> nodeForNodeIds(@Nullable UUID... nodeIds)
nodeIds - Collection of node IDs.
GridFunc.idForNodeId(UUID),
GridFunc.nodeIds(Collection)public static GridPredicate<UUID> idForNodeId(UUID nodeId)
UUID predicate evaluating on the given node ID.
nodeId - Node ID for which returning predicate will evaluate to true.
UUID predicate evaluating on the given node ID.GridFunc.nodeForNodeId(UUID),
GridFunc.nodeIds(Collection)public static GridPredicate<UUID> idForNodeIds(@Nullable Collection<UUID> nodeIds)
UUID predicate evaluating on the given node IDs.
nodeIds - Collection of node IDs.
UUID predicate evaluating on the given node IDs.GridFunc.nodeForNodeId(UUID),
GridFunc.nodeIds(Collection)public static GridPredicate<UUID> idForNodeIds(@Nullable UUID... nodeIds)
UUID predicate evaluating on the given node IDs.
nodeIds - Collection of node IDs.
UUID predicate evaluating on the given node IDs.GridFunc.nodeForNodeId(UUID),
GridFunc.nodeIds(Collection)public static GridPredicate<GridRichNode> nodeForNodes(@Nullable Collection<? extends GridNode> nodes)
true for each node in given collection.
Note that is collection is empty the result predicate will always evaluate to false.
Implementation simply creates GridNodePredicate instance.
nodes - Collection of nodes. If none provided - result predicate will always
return false.
true for each node in given collection.public static GridPredicate<GridRichNode> nodeForNodes(GridRichNode... nodes)
true for each node in given collection.
Note that if collection is empty the result predicate will always evaluate to false.
Implementation simply creates GridNodePredicate instance.
nodes - Collection of nodes. If none provided - result predicate will always
return false.
true for each node in given collection.public static <T0,T extends T0> Collection<T> retain(Collection<T> c, boolean copy, @Nullable Collection<? extends T0> filter)
filter.
T - Type of collections.c - Input collection.copy - If true method creates collection not modifying input, otherwise does
in-place modifications.filter - Filter collection. If filter collection is null or empty -
an empty collection will be returned.
public static <T> Collection<T> retain(Collection<T> c, boolean copy, @Nullable GridPredicate<? super T>... p)
true
by all given predicates.
T - Type of collections.c - Input collection.copy - If true method creates collection not modifying input, otherwise does
in-place modifications.p - Predicates to filter by. If no predicates provides - all elements
will be retained.
public static <T> Collection<T> retain(Collection<T> c, boolean copy, int num)
num elements in the input collection.
T - Type of the collections.c - Input collection.copy - If true method creates collection not modifying input, otherwise does
in-place modifications.num - Maximum number of elements to retain (the actual number can be
less if the input collection contains less elements).
num first elements from the input collection.public static <K,V> Map<K,V> retain(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super Map.Entry<K,V>>... p)
K - Type of the free variable for the predicate and type of map's keys.V - Type of map's values.m - Map to retain entries from.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicate to use for filtration. If none provided - original
map (or its copy) will be returned.
public static <K,V> Map<K,V> retainKeys(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super K>... p)
K - Type of the free variable for the predicate and type of map's keys.V - Type of map's values.m - Map to retain entries from.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicate to use for filtration. If none provided - original
map (or its copy) will be returned.
public static <K,V> Map<K,V> retainValues(Map<K,V> m, boolean copy, @Nullable GridPredicate<? super V>... p)
K - Type of the free variable for the predicate and type of map's keys.V - Type of map's values.m - Map to retain entries from.copy - If true method creates new map not modifying input, otherwise does
in-place modifications.p - Optional set of predicate to use for filtration. If none provided - original
map (or its copy) will be returned.
public static <T extends Callable<?>> Collection<GridJob> outJobs(@Nullable Collection<? extends T> c)
c - Closure collection to convert.
public static <T extends Runnable> Collection<GridJob> absJobs(@Nullable Collection<? extends T> c)
c - Closure collection to convert.
public static Collection<GridJob> outJobs(@Nullable Callable<?>... c)
c - Closure array to convert.
public static Collection<GridJob> absJobs(@Nullable Runnable... c)
c - Closure array to convert.
public static GridJob job(Callable<?> c)
c - Closure to convert to grid job.
public static GridJob job(Runnable r)
r - Closure to convert to grid job.
public static <T> GridOutClosure as(Future<T> fut)
apply
method is called it will call Future.get() method.
T - Type of the future and closure.fut - Future to convert.
public static <E1,E2> GridPredicate<GridTuple2<E1,E2>> as0(GridPredicate2<? super E1,? super E2> p)
E1 - Type of the 1st value.E2 - Type of the 2nd value.p - Predicate to convert.
public static <T> Future<T> as(GridFuture<T> fut)
GridFuture into an object implementing Future.
T - Type of computation result.fut - Future to convert.
Future.public static <T> GridClosure<GridFuture<T>,Future<T>> future()
GridFuture to Future.
T - Type of future.
GridFuture to Future.
public static void whileDo(GridAbsClosure body,
GridAbsPredicate cond)
body until provided condition evaluates to
true via while-do Java loop (test-before).
body - Body closure.cond - Condition predicate.
public static void doWhile(GridAbsClosure body,
GridAbsPredicate cond)
body until provided condition evaluates to
true via do-while Java loop (test-after).
body - Body closure.cond - Condition predicate.public static <R> GridOpt<R> doWhile(Callable<R> body, GridAbsPredicate cond)
body until provided condition evaluates to
true via do-while Java loop (test-after).
GridClosureException - Thrown if callable throws exception.R - Type of closure's return value.body - Body closure.cond - Condition predicate.
public static <R> GridOpt<R> whileDo(Callable<R> body, GridAbsPredicate cond)
body until provided condition evaluates to
true via while-do Java loop (test-before).
GridClosureException - Thrown if callable throws exception.R - Type of closure's return value.body - Body closure.cond - Condition predicate.
public static <T,R> Collection<GridOutClosure<R>> yield(Collection<? extends T> c, GridClosure<? super T,R> f)
T - Type of the input collection.R - Type of the return value for the closure.c - Input collection of elements.f - Closure to close on each element of input collection.
public static <T> Collection<GridAbsClosure> yield(Collection<? extends T> c, GridInClosure<? super T> f)
T - Type of the input collection.c - Input collection of elements.f - Closure to close on each element of input collection.
public static <T> Collection<GridAbsClosure> yield(T[] c, GridInClosure<? super T> f)
T - Type of the input collection.c - Input collection of elements.f - Closure to close on each element of input collection.
public static <T,R> Collection<GridOutClosure<R>> yield(T[] c, GridClosure<? super T,R> f)
T - Type of the input collection.R - Type of the return value for the closure.c - Input array of elements.f - Closure to close on each element of array.
public static <T> GridIterable<T> as(Iterator<T> iter)
Iterable interface.
T - Type of the iterator.iter - Iterator to convert.
public static <T> List<T> asList(@Nullable T... vals)
List. Note that resulting list cannot
be altered in size, as it it based on the passed in array -
only current elements can be changed.
Note that unlike Arrays.asList(Object[]), this method is
null-safe. If null is passed in, then empty list
will be returned.
T - Array type.vals - Array of values
List instance for array.public static <T> GridIterator<T> emptyIterator()
T - Type of the iterator.
public static <T> Collection<T> flat(@Nullable Collection<? extends Collection<T>> c)
Note that due to non-copying nature of implementation, the
size() method of resulting collection will have to
iterate over all elements to produce size. Method isEmpty(),
however, is constant time and is much more preferable to use instead
of 'size()' method when checking if list is not empty.
T - Type of the inner collections.c - Input collection of collections.
public static <T> GridIterator<T> flat(@Nullable Iterable<? extends Iterable<T>> c)
T - Type of the inner collections.c - Input collection of collections.
public static Collection<Object> flat0(@Nullable Object... objs)
Collection,
Iterable and Object[] objects.
objs - Objects to flatten.
public static GridAbsClosure as(@Nullable
Runnable r)
r - Runnable to convert to closure. If null - no-op closure is returned.
null.public static GridClosure<Runnable,GridAbsClosure> r2c()
Runnable to GridAbsClosure.
Runnable to GridAbsClosure.public static <T> GridClosure<Callable<T>,GridOutClosure<T>> c2c()
Callable to GridOutClosure.
Callable to GridOutClosure.public static <R> GridOutClosure<R> as(Callable<R> c)
c - Callable to convert to closure.
GridRuntimeException.public static <T> int size(T[] c, @Nullable GridPredicate<? super T>... p)
T - Type of the array.c - Array to size.p - Optional predicates that filters out elements from count.
true. If no predicates is provided - all elements are counted.public static <T> int size(@Nullable Collection<? extends T> c, @Nullable GridPredicate<? super T>... p)
T - Type of the iterator.c - Collection to size.p - Optional predicates that filters out elements from count.
true. If no predicates is provided - all elements are counted.public static <T> int size(@Nullable Iterator<? extends T> it, @Nullable GridPredicate<? super T>... p)
T - Type of the iterator.it - Iterator to size.p - Optional predicates that filters out elements from count.
true. If no predicates is provided - all elements are counted.public static <T> Collection<T> view(@Nullable Collection<T> c, @Nullable GridPredicate<? super T>... p)
true. Note that only wrapping collection will be created and no duplication of
data will occur. Also note that if array of given predicates is not empty then method
size() uses full iteration through the collection.
T - Type of the collection.c - Input collection that serves as a base for the view.p - Optional predicated. If predicates are not provided - all elements will be in the view.
public static <T1,T2> Collection<T2> viewReadOnly(@Nullable Collection<? extends T1> c, GridClosure<? super T1,T2> trans, @Nullable GridPredicate<? super T1>... p)
transformed elements for which
all provided predicate, if any, evaluates to true. Note that only wrapping
collection will be created and no duplication of data will occur. Also note that if array
of given predicates is not empty then method size() uses full iteration through
the collection.
T1 - Type of the collection.c - Input collection that serves as a base for the view.trans - Transformation closure.p - Optional predicated. If predicates are not provided - all elements will be in the view.
public static <T1,T2> List<T2> viewListReadOnly(@Nullable List<? extends T1> c, GridClosure<? super T1,T2> trans)
transformed elements. Note that only wrapping
list will be created and no duplication of data will occur.
T1 - Type of the list.c - Input list that serves as a base for the view.trans - Transformation closure.
public static <T1,T2> List<T2> transformList(Collection<? extends T1> c, GridClosure<? super T1,T2> trans, @Nullable GridPredicate<? super T1>... p)
true. Note that a new collection will be created and data will
be copied.
c - Input list that serves as a base for the view.trans - Transforming closure from T1 to T2.p - Optional predicates. If predicates are not provided - all elements will be in the view.
public static <T1,T2> Set<T2> transformSet(Collection<? extends T1> c, GridClosure<? super T1,T2> trans, @Nullable GridPredicate<? super T1>... p)
true.
Note that a new collection will be created and data will be copied.
c - Input set that serves as a base for the view.trans - Transforming closure from T1 to T2.p - Optional predicates. If predicates are not provided - all elements will be in the view.
public static <K0,K extends K0,V0,V extends V0> Map<K,V> view(@Nullable Map<K,V> m, @Nullable GridPredicate<? super K>... p)
true.
Note that only wrapping map will be created and no duplication of data will occur.
Also note that if array of given predicates is not empty then method size()
uses full iteration through the entry set.
K - Type of the key.V - Type of the value.m - Input map that serves as a base for the view.p - Optional predicates. If predicates are not provided - all will be in the view.
public static <K0,K extends K0,V0,V extends V0,V1> Map<K,V1> viewReadOnly(@Nullable Map<K,V> m, GridClosure<V,V1> trans, @Nullable GridPredicate<? super K>... p)
true.
Note that only wrapping map will be created and no duplication of data will occur.
Also note that if array of given predicates is not empty then method size()
uses full iteration through the entry set.
K - Type of the key.V - Type of the input map value.V1 - Type of the output map value.m - Input map that serves as a base for the view.trans - Transformer for map value transformation.p - Optional predicates. If predicates are not provided - all will be in the view.
public static boolean isEmpty(@Nullable
String s)
null or empty.
s - String to test.
null or empty.public static <T> boolean isEmpty(@Nullable T[] c)
null or empty.
c - Array to test.
null or empty.
public static boolean isEmpty(@Nullable
int[] c)
null or empty.
c - Array to test.
null or empty.
public static boolean isEmpty(@Nullable
Iterable<?> c)
null or empty.
c - Collection to test.
null or empty.
public static boolean isEmpty(@Nullable
Collection<?> c)
null or empty.
c - Collection to test.
null or empty.
public static boolean isEmpty(@Nullable
Map<?,?> m)
null or empty.
m - Map to test.
null or empty.@Nullable public static <K,V> V returnIfAbsent(Map<? extends K,? extends V> map, @Nullable K key, @Nullable Callable<V> c)
GridFunc.addIfAbsent(Map, Object, Callable)
method but this one doesn't put the default value into the map when key is not found.
GridClosureException - Thrown in case when callable throws exception.K - Map key type.V - Map value type.map - Map to get value from.key - Map key (can be null).c - Optional factory closure for the default value to be returned in
when key is not found. If closure is not provided - null will be returned.
key or default value produced by c if key is not
found (or null if key is not found and closure is not provided).GridFunc.newLinkedList(),
GridFunc.newList(),
GridFunc.newSet(),
GridFunc.newMap(),
GridFunc.newAtomicLong(),
GridFunc.newAtomicInt(),
GridFunc.newAtomicRef(),
GridFunc.newAtomicBoolean()public static <T> GridOutClosure<List<T>> newList()
List instance. Note that this
method does not create a new closure but returns a static one.
T - Type parameters for the created List.
List instance every
time its GridOutClosure.apply() method is called.public static GridOutClosure<AtomicInteger> newAtomicInt()
AtomicInteger instance
initialized to zero. Note that this method does not create a new
closure but returns a static one.
AtomicInteger instance
initialized to zero every time its GridOutClosure.apply() method is called.public static GridOutClosure<AtomicLong> newAtomicLong()
AtomicLong instance
initialized to zero. Note that this method does not create a new
closure but returns a static one.
AtomicLong instance
initialized to zero every time its GridOutClosure.apply() method is called.public static <T> GridOutClosure<AtomicReference<T>> newAtomicRef()
AtomicReference instance
initialized to null. Note that this method does not create a new closure
but returns a static one.
T - Type of the atomic reference.
AtomicReference instance
initialized to null every time its GridOutClosure.apply() method is called.public static GridOutClosure<AtomicBoolean> newAtomicBoolean()
AtomicBoolean instance
initialized to false. Note that this method does not create a new
closure but returns a static one.
AtomicBoolean instance
initialized to false every time its GridOutClosure.apply() method is called.public static <T> GridOutClosure<LinkedList<T>> newLinkedList()
LinkedList instance.
Note that this method does not create a new closure but returns a static one.
T - Type parameters for the created LinkedList.
LinkedList instance every time its GridOutClosure.apply() method is called.public static <T> GridOutClosure<Set<T>> newSet()
Set instance. Note that this
method does not create a new closure but returns a static one.
T - Type parameters for the created Set.
Set instance every time
its GridOutClosure.apply() method is called.public static <K,V> GridOutClosure<Map<K,V>> newMap()
Map instance. Note
that this method does not create a new closure but returns a static one.
K - Type of the key for the created Map.V - Type of the value for the created Map.
Map instance every
time its GridOutClosure.apply() method is called.public static <K,V> GridOutClosure<ConcurrentMap<K,V>> newCMap()
ConcurrentMap instance.
Note that this method does not create a new closure but returns a static one.
K - Type of the key for the created ConcurrentMap.V - Type of the value for the created ConcurrentMap.
Map instance every
time its GridOutClosure.apply() method is called.public static <E> GridOutClosure<Set<E>> newCSet()
GridConcurrentHashSet instance.
Note that this method does not create a new closure but returns a static one.
GridConcurrentHashSet instance every
time its GridOutClosure.apply() method is called.public static <T> GridIterable<T> iterable(Collection<? extends T> c, GridPredicate<? super T>... p)
true. Note that this method will not create new collection but
will simply "skip" elements in the provided collection that given predicates doesn't
evaluate to true for.
T - Type of the collection elements.c - Input collection.p - Optional filtering predicates.
public static <T> GridOutClosure<T> producer(Iterable<? extends T> c, boolean cyclic)
T - Type of the collection.c - Input collection.cyclic - Determines whether input collection will rewind when end is reached
and start again from the beginning - or NoSuchElementException exception
is thrown.
GridFunc.jobProducer(GridJob[], boolean)public static <T> GridOutClosure<T> producer(T[] c, boolean cyclic)
T - Type of the collection.c - Input collection.cyclic - Determines whether input collection will rewind when end is reached
and start again from the beginning - or NoSuchElementException exception
is thrown.
GridFunc.jobProducer(GridJob[], boolean)public static GridOutClosure<GridJob> jobProducer(GridJob[] c, boolean cyclic)
GridJob instances.
Every time resulting closure is called it will return the next job in the input collection.
Note that this method will wrap job from input collection using GridJobWrapper
class before returning it. It is convenient when the resulting closure is used to produce
jobs that server as map's keys.
c - Input jobs array.cyclic - Determines whether input collection will rewind when end is reached and start
again from the beginning - or NoSuchElementException exception is thrown.
GridFunc.producer(Object[], boolean),
GridFunc.producer(Iterable, boolean)public static GridOutClosure<GridJob> jobProducer(Iterable<? extends GridJob> jobs, boolean cyclic)
GridJob instances.
Every time resulting closure is called it will return the next job in the input collection.
Note that this method will wrap job from input collection using GridJobWrapper
class before returning it. It is convenient when the resulting closure is used to produce
jobs that server as map's keys.
jobs - Input jobs collection.cyclic - Determines whether input collection will rewind when end is reached and
start again from the beginning - or NoSuchElementException exception is thrown.
GridFunc.producer(Object[], boolean),
GridFunc.producer(Iterable, boolean)public static <T> GridIterator<T> iterator0(Collection<? extends T> c, boolean readOnly, GridPredicate<? super T>... p)
true (if provided). Note that this method will not create new collection but
will simply "skip" elements in the provided collection that given predicates doesn't
evaluate to true for.
T - Type of the collection elements.c - Input collection.readOnly - If true, then resulting iterator will not allow modifications
to the underlying collection.p - Optional filtering predicates.
public static <T1,T2> GridIterator<T2> iterator(Collection<? extends T1> c, GridClosure<? super T1,T2> trans, boolean readOnly, @Nullable GridPredicate<? super T1>... p)
true ( if provided). Note that this method
will not create new collection but will simply "skip" elements in the provided
collection that given predicates doesn't evaluate to true for.
T1 - Type of the collection elements.T2 - Type of returned elements.c - Input collection.trans - Transforming closure to convert from T1 to T2.readOnly - If true, then resulting iterator will not allow modifications
to the underlying collection.p - Optional filtering predicates.
public static <T> GridPredicate<T> alwaysTrue()
true. This method returns
constant predicate.
T - Type of the free variable, i.e. the element the predicate is called on.
true.public static <T> GridPredicate<T> alwaysFalse()
false. This method returns
constant predicate.
T - Type of the free variable, i.e. the element the predicate is called on.
false.public static boolean isAlwaysTrue(GridPredicate p)
GridFunc.alwaysTrue() method.
p - Predicate to check.
true if given predicate is ALWAYS_TRUE predicate.
public static boolean isAlwaysTrue(@Nullable
GridPredicate[] p)
GridFunc.alwaysTrue() method.
p - Predicate to check.
true if given contains only ALWAYS_TRUE predicate.public static boolean isAlwaysFalse(GridPredicate p)
GridFunc.alwaysFalse() method.
p - Predicate to check.
true if given predicate is ALWAYS_FALSE predicate.
public static boolean isAlwaysFalse(@Nullable
GridPredicate[] p)
GridFunc.alwaysFalse() method.
p - Predicate to check.
true if given contains only ALWAYS_FALSE predicate.public static <T> GridPredicate<T> isNull()
true if its free variable is null.
T - Type of the free variable, i.e. the element the predicate is called on.
true if its free variable is null.public static <T> GridPredicate<T> notNull()
true if its free variable is not null.
T - Type of the free variable, i.e. the element the predicate is called on.
true if its free variable is not null.public static <T> GridPredicate<T> not(@Nullable GridPredicate<? super T>... p)
Gets predicate that evaluates to true if any of given predicates
evaluates to false. If all predicates evaluate to true the
result predicate will evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.p - Predicate to negate.
public static <T> GridPredicate<T> equalTo(@Nullable T target)
true if its free variable is equal
to target or both are null.
T - Type of the free variable, i.e. the element the predicate is called on.target - Object to compare free variable to.
true if its free variable is equal to
target or both are null.public static <T> GridPredicate<T> notEqualTo(@Nullable T target)
true if its free variable is not equal
to target or both are null.
T - Type of the free variable, i.e. the element the predicate is called on.target - Object to compare free variable to.
true if its free variable is not equal
to target or both are null.public static <T> GridPredicate<T> instanceOf(Class<?> cls)
true if its free variable is instance of the given class.
T - Type of the free variable, i.e. the element the predicate is called on.cls - Class to compare to.
true if its free variable is instance
of the given class.public static <T> GridPredicate<T> notInstanceOf(Class<?> cls)
true if its free variable is not an instance
of the given class.
T - Type of the free variable, i.e. the element the predicate is called on.cls - Class to compare to.
true if its free variable is not an instance
of the given class.@Nullable public static <T> T first(@Nullable Iterable<? extends T> c)
null if the collection is empty.
T - Type of the collection.c - A collection.
null in case if the collection is empty.@Nullable public static <T> T last(@Nullable Iterable<? extends T> c)
null if the collection is empty.
T - Type of the collection.c - A collection.
null in case if the collection is empty.@Nullable public static <V> V firstValue(Map<?,V> m)
null if the map is empty.
V - Value type.m - A map.
null in case if the map is empty.@Nullable public static <K> K firstKey(Map<K,?> m)
null if the map is empty.
K - Key type.m - A map.
null in case if the map is empty.@Nullable public static <K,V> Map.Entry firstEntry(Map<K,V> m)
null if the map is empty.
K - Key type.V - Value type.m - A map.
null in case if the map is empty.public static <T> GridPredicate<T> and(@Nullable Collection<? extends GridPredicate<? super T>> ps)
true if each of its component predicates
evaluates to true. The components are evaluated in order they are supplied.
Evaluation will be stopped as soon as first predicate evaluates to false.
Passed in predicates are NOT copied. If no predicates are passed in the returned
predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.ps - Passed in predicate.
true if each of its component predicates
evaluates to true.public static <T> GridPredicate<T> and(@Nullable GridPredicate<? super T>[] p1, @Nullable GridPredicate<? super T>... p2)
true if each of its component predicates
evaluates to true. The components are evaluated in order they are supplied.
Evaluation will be stopped as soon as first predicate evaluates to false.
Passed in predicates are NOT copied. If no predicates are passed in the returned
predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.p1 - Passed in predicates.p2 - Passed in predicates.
true if each of its component predicates
evaluates to true.public static <T> GridPredicate<T> and(@Nullable GridPredicate<? super T>... ps)
true if each of its component predicates
evaluates to true. The components are evaluated in order they are supplied.
Evaluation will be stopped as soon as first predicate evaluates to false.
Passed in predicates are NOT copied. If no predicates are passed in the returned
predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.ps - Passed in predicate. If none provided - always-false predicate is
returned.
true if each of its component predicates
evaluates to true.public static <T> GridPredicate<T> or(@Nullable Collection<? extends GridPredicate<? super T>> ps)
true if any of its component
predicates evaluates to true. The components are evaluated in order
they are supplied. Evaluation will be stopped as soon as first predicate
evaluates to true. Passed in predicates are NOT copied. If no predicates
are passed in the returned predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.ps - Passed in predicate.
true if any of its component predicates
evaluates to true.public static <T> GridPredicate<T> or(@Nullable GridPredicate<? super T>[] p1, @Nullable GridPredicate<? super T>... p2)
true if any of its component predicates
evaluates to true. The components are evaluated in order they are supplied.
Evaluation will be stopped as soon as first predicate evaluates to false.
Passed in predicates are NOT copied. If no predicates are passed in the returned
predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.p1 - Passed in predicates.p2 - Passed in predicates.
true if any of its component predicates
evaluates to true.public static <T> GridPredicate<T> or(@Nullable GridPredicate<? super T>... ps)
true if any of its component predicates
evaluates to true. The components are evaluated in order they are supplied.
Evaluation will be stopped as soon as first predicate evaluates to true.
Passed in predicates are NOT copied. If no predicates are passed in the returned
predicate will always evaluate to false.
T - Type of the free variable, i.e. the element the predicate is called on.ps - Passed in predicate.
true if any of its component predicates evaluates
to true.public static <X,Y> GridPredicate<X> compose(GridPredicate<? super Y> p, GridClosure<? super X,? extends Y> f)
x
it returns predicate p(f(x)). Note that predicate and closure must be loaded
by the same class loader.
X - Type of the free variable for the closure.Y - Type of the closure's return value.p - Predicate.f - Closure.
public static <T1,R> GridClosure<T1,R> constant1(@Nullable R val)
T1 - Type of the free variable for the closure.R - Type of the closure's return value.val - Constant value to return.
public static <T1,T2,R> GridClosure2<T1,T2,R> constant2(@Nullable R val)
T1 - Type of the free variable for the closure.T2 - Type of the free variable for the closure.R - Type of the closure's return value.val - Constant value to return.
public static <T1,T2,T3,R> GridClosure3<T1,T2,T3,R> constant3(@Nullable R val)
T1 - Type of the free variable for the closure.T2 - Type of the free variable for the closure.T3 - Type of the free variable for the closure.R - Type of the closure's return value.val - Constant value to return.
public static <R> GridOutClosure<R> constant(@Nullable R val)
R - Type of the closure's return value.val - Constant value to return.
public static <T> GridOutClosure<T> factory(Class<T> cls)
T - Type of factory.cls - Class of factory.
public static <T> GridClosure<T,T> identity()
T - Type of the variable and return value for the closure.
public static GridAbsPredicate as(Callable<Boolean> c)
c - Closure to convert.
public static <T> GridPredicate<T> as(GridClosure<? super T,Boolean> c)
c - Closure to convert.
public static <T1,T2> GridPredicate2<T1,T2> as(GridClosure2<? super T1,? super T2,Boolean> c)
c - Closure to convert.
public static <T1,T2,T3> GridPredicate3<T1,T2,T3> as(GridClosure3<? super T1,? super T2,? super T3,Boolean> c)
c - Closure to convert.
public static GridOutClosure<Boolean> as(GridAbsPredicate p)
p - Predicate to convert.
public static <X> GridClosure<X,Boolean> as(GridPredicate<? super X> p)
X - Type of the free variable for the predicate.p - Predicate to convert.
public static <X1,X2> GridClosure2<X1,X2,Boolean> as(GridPredicate2<? super X1,? super X2> p)
X1 - Type of the free variable for the predicate.X2 - Type of the free variable for the predicate.p - Predicate to convert.
public static <X1,X2,X3> GridClosure3<X1,X2,X3,Boolean> as(GridPredicate3<? super X1,? super X2,? super X3> p)
X1 - Type of the free variable for the predicate.X2 - Type of the free variable for the predicate.X3 - Type of the free variable for the predicate.p - Predicate to convert.
public static <D,B,C> GridClosure<D,C> compose(GridClosure<? super D,? extends B> f, GridClosure<? super B,C> g)
a is a free variable the
result closure is g.apply(f.apply(a)). Note that both closures
must be loaded by the same class loader.
D - Type of the free variable for the closure.B - Type of return value and of the free variable for the closure.C - Type of the return value for the closure.f - First closure.g - Second closure.
public static <K,V> GridClosure<K,V> forMap(Map<? extends K,? extends V> m)
K - Type of the free variable for the closure and type of the map keys.V - Type of the closure's return value and type of the map values.m - Source map.
public static <K,V> GridClosure<K,V> forMap(Map<? extends K,? extends V> m, @Nullable Callable<V> c)
K - Type of the free variable for the closure and type of the map keys.V - Type of the closure's return value and type of the map values.m - Source map.c - Optional factory closure to produce default value to return from result closure if
key has no mapping in given map. If factory closure is null - the default value
will be null.
public static <T> GridClosure<T,String> string()
toString() value for its free variable.
T - Type of the free variable for the closure.
toString() value for its free variable.public static <T> GridPredicate<T> in(@Nullable Collection<? extends T> c)
true if its free variable is contained
in given collection.
T - Type of the free variable for the predicate and type of the
collection elements.c - Collection to check for containment.
true if its free variable is
contained in given collection.public static <T> GridPredicate<T> notIn(@Nullable Collection<? extends T> c)
true if its free variable is not
contained in given collection.
T - Type of the free variable for the predicate and type of the
collection elements.c - Collection to check for containment.
true if its free variable is not
contained in given collection.@Nullable public static <K,V> V addIfAbsent(ConcurrentMap<K,V> map, K key, @Nullable Callable<V> c)
null return null.
K - Key type.V - Value type.map - Concurrent hash map.key - Key to get the value for.c - Default value producing closure.
null if key is not found and
closure is null.public static <K,V> V addIfAbsent(ConcurrentMap<K,V> map, K key, V val)
K - Key type.V - Value type.map - Map.key - Key.val - Value to put if one does not exist.
@Nullable public static <K,V> V addIfAbsent(Map<K,V> map, @Nullable K key, @Nullable Callable<V> c)
GridClosureException - Thrown in case when callable throws exception.K - Map key type.V - Map value type.map - Map to get value from.key - Map key (can be null).c - Optional factory closure for the default value to be put in when key
is not found. If closure is not provided - null will be put into the map.
key or default value produced by c if key is not
found (or null if key is not found and closure is not provided). Note that
in case when key is not found the default value will be put into the map.GridFunc.newLinkedList(),
GridFunc.newList(),
GridFunc.newSet(),
GridFunc.newMap(),
GridFunc.newAtomicLong(),
GridFunc.newAtomicInt(),
GridFunc.newAtomicRef(),
GridFunc.newAtomicBoolean()@Nullable public static <K,V> V addIfAbsent(Map<K,V> map, @Nullable K key, @Nullable V v)
K - Map key type.V - Map value type.map - Map to get value from.key - Map key (can be null).v - Optional value to be put in when key is not found.
If not provided - null will be put into the map.
key or default value c if key is not
found (or null if key is not found and value is not provided). Note that
in case when key is not found the default value will be put into the map.public static <T> GridPredicate<T> in(@Nullable T[] c)
true if its free variable is contained
in given array.
T - Type of the free variable for the predicate and type of the
array elements.c - Array to check for containment.
true if its free variable is
contained in given array.public static <T> GridPredicate<T> notIn(@Nullable T[] c)
true if its free variable is not
contained in given array.
T - Type of the free variable for the predicate and type of the
array elements.c - Array to check for containment.
true if its free variable is not
contained in given array.public static <X,Y> Y reduce(Iterable<? extends X> c, GridReducer<? super X,Y> f)
X - Type of the free variable for the closure and type of the
collection elements.Y - Type of the closure's return value.c - Collection to reduce.f - For-all closure used for reduction.
@Nullable public static <X,Y,R> R reduce(Map<? extends X,? extends Y> m, GridReducer2<? super X,? super Y,R> f)
X - Type of the free variable for the closure and type of the map keys.Y - Type of the closure's return value and type of the map values.R - Type of the return value for the closure.m - Map to reduce.f - For-all closure used for reduction.
public static <X> void forEach(Iterable<? extends X> c, GridInClosure<? super X> f, @Nullable GridPredicate<? super X>... p)
side-effect only closure over the each element of the provided
collection.
X - Type of the free variable for the closure and type of the
collection elements.c - Collection to call closure over.f - Side-effect only closure to call over the collection.p - Optional set of predicates. Only if collection element evaluates
to true for given predicates the closure will be applied to it.
If no predicates provided - closure will be applied to all collection
elements.public static <X> void forEach(X[] c, GridInClosure<? super X> f, @Nullable GridPredicate<? super X>... p)
side-effect only closure over the each element of the provided array.
X - Type of the free variable for the closure and type of the array
elements.c - Array to call closure over.f - Side-effect only closure to call over the array.p - Optional set of predicates. Only if collection element evaluates
to true for given predicates the closure will be applied to it.
If no predicates provided - closure will be applied to all collection
elements.public static <T extends GridMetadataAware> GridPredicate<T> metaEntry(@Nullable Map.Entry<String,?>... meta)
GridMetadataAware
interface and evaluates to true if it contains all provided metadata.
T - Type of returned predicate.meta - Collection of metadata.
GridMetadataAware interface and
evaluates to true if it contains all provided metadata.GridFunc.meta(String...),
GridFunc.meta(Iterable),
GridFunc.meta(String, Object)public static <T extends GridMetadataAware> GridPredicate<T> metaEntry(@Nullable Collection<? extends Map.Entry<String,?>> meta)
GridMetadataAware interface
and evaluates to true if it contains all provided metadata.
T - Type of returned predicate.meta - Collection of metadata.
GridMetadataAware interface and
evaluates to true if it contains all provided metadata.GridFunc.meta(String...),
GridFunc.meta(Iterable),
GridFunc.meta(String, Object)public static <T extends GridMetadataAware> GridPredicate<T> meta(@Nullable Map<String,?> meta)
GridMetadataAware interface
and evaluates to true if it contains all provided metadata.
T - Type of returned predicate.meta - Collection of metadata as a map.
GridMetadataAware
interface and evaluates to true if it contains all provided metadata.GridFunc.meta(String...),
GridFunc.meta(Iterable),
GridFunc.meta(String, Object),
GridFunc.metaEntry(java.util.Map.Entry[]),
GridFunc.metaEntry(Collection)public static <T extends GridMetadataAware> GridPredicate<T> meta(String name, Object val)
GridMetadataAware interface
and evaluates to true if it contains given metadata.
T - Type of returned predicate.name - Metadata name.val - Metadata value.
GridMetadataAware interface
and evaluates to true if it contains given metadata.GridFunc.metaEntry(java.util.Map.Entry[]),
GridFunc.meta(String...),
GridFunc.meta(Iterable)public static <T extends GridMetadataAware> GridPredicate<T> meta(@Nullable String... names)
GridMetadataAware interface
and evaluates to true if it contains given metadata names (values are ignored).
T - Type of returned predicate.names - Metadata names to evaluate by.
GridMetadataAware interface and
evaluates to true if it contains given metadata names (values are ignored).public static <T extends GridMetadataAware> GridPredicate<T> meta(@Nullable Iterable<String> names)
GridMetadataAware interface and
evaluates to true if it contains given metadata names (values are ignored).
T - Type of returned predicate.names - Metadata names to evaluate by.
GridMetadataAware interface and
evaluates to true if it contains given metadata names (values are ignored).public static <T> Collection<T> copy(Collection<T> to, T... from)
T - Type of the free variable for the predicate and type of the collection elements.to - Collection to copy to.from - Array to copy from.
public static <T> Collection<T> copy(Collection<T> to, Iterable<? extends T> from, @Nullable GridPredicate<? super T>... p)
true.
T - Type of the free variable for the predicate and type of the collection elements.to - Collection to copy to.from - Collection to copy from.p - Optional set of predicates to use for filtration.
public static <X,Y> Collection<Y> transform(Collection<Y> to, Iterable<? extends X> from, GridClosure<? super X,Y> f, @Nullable GridPredicate<? super X>... p)
true
for this value. Note that no new collection will be created.
X - Type of the free variable for the closure and type of the collection elements.Y - Type of the closure's return value.to - Destination collection to transform to.from - Initial collection to transform.f - Closure to use for transformation.p - Optional predicates to use for transformation.
public static <K,V> void forEach(Map<? extends K,? extends V> m, GridInClosure<? super GridTuple2<K,V>> f, @Nullable GridPredicate<? super GridTuple2<K,V>>... p)
side-effect only closure (if provided) over the each element of the
provided map. If provided closure is null this method is no-op.
K - Type of the free variable for the closure and type of the map keys.V - Type of the closure's return value and type of the map values.m - Map to call closure over.f - Optional closure to call over the map.p - Optional set of predicates. Only if map entry evaluates to true for given
predicates the closure will be applied to it. If no predicates provided - closure will
be applied to all map entries.public static <X,Y> Collection<Y> transform(Collection<? extends X> c, GridClosure<? super X,Y> f)
X - Type of the free variable for the closure and type of the collection elements.Y - Type of the closure's return value.c - Initial collection to transform.f - Closure to use for transformation.
public static <X,Y extends X> Collection<Y> upcast(Collection<? extends X> c, GridClosure<? super X,Y> f)
transform method that works on two types that are in child-parent
relationship. It allows for optimization when the input collection is implementation of List
interfaces. In such case no new collection will be created and transformation will happen in place.
X - Type of the free variable for the closure and type of the collection elements.Y - Type of the closure's return value.c - Initial collection to transform.f - Closure to use for transformation.
List interface
transformation done in place and original collection is returned.public static <X,Y> Collection<Y> transform(X[] c, GridClosure<? super X,Y> f)
X - Type of the free variable for the closure and type of the array elements.Y - Type of the closure's return value.c - Initial array to transform.f - Closure to use for transformation.
public static <T> boolean isAll(@Nullable T t, @Nullable GridPredicate<? super T>... p)
true for given value. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
T - Type of the value and free variable of the predicates.t - Value to test.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if given set of predicates is null, is empty, or all predicates
evaluate to true for given value, false otherwise.public static <T> boolean isAll(@Nullable T t, @Nullable Iterable<? extends GridPredicate<? super T>> p)
true for given value. Note that evaluation will be
short-circuit when first predicate evaluated to false is found.
T - Type of the value and free variable of the predicates.t - Value to test.p - Optional set of predicates to use for evaluation.
true if given set of predicates is null, is empty, or all predicates
evaluate to true for given value, false otherwise.public static <A,B> boolean isAll2(@Nullable A a, @Nullable B b, @Nullable GridPredicate2<? super A,? super B> p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if all predicates evaluate to true for given
values, false otherwise.public static <A,B> boolean isAll2(@Nullable A a, @Nullable B b, @Nullable GridPredicate2<? super A,? super B>[] p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if all predicates evaluate to true for given
values, false otherwise.public static <A,B> boolean isAll2(@Nullable A a, @Nullable B b, @Nullable Iterable<? extends GridPredicate2<? super A,? super B>> p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if all predicates evaluate to true for given
values, false otherwise.public static <A,B,C> boolean isAll3(@Nullable A a, @Nullable B b, @Nullable C c, @Nullable GridPredicate3<? super A,? super B,? super C>... p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.C - Type of the 3d value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.c - 3d value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if all predicates evaluate to true for given
values, false otherwise.public static <A,B,C> boolean isAll3(@Nullable A a, @Nullable B b, @Nullable C c, @Nullable Iterable<? extends GridPredicate3<? super A,? super B,? super C>> p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to false is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.C - Type of the 3d value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.c - 3d value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return true.
true if all predicates evaluate to true for given
values, false otherwise.public static <T> boolean isAny(@Nullable T t, @Nullable GridPredicate<? super T>... p)
true for given value. Note
that evaluation will be short-circuit when first predicate evaluated to true
is found.
T - Type of the value and free variable of the predicates.t - Value to test.p - Optional set of predicates to use for evaluation.
true if any of predicates evaluates to true for given
value, false otherwise. Returns false if given set of predicates
is null or empty.public static <T> boolean isAny(@Nullable T t, @Nullable Iterable<? extends GridPredicate<? super T>> p)
true for given value. Note
that evaluation will be short-circuit when first predicate evaluated to true
is found.
T - Type of the value and free variable of the predicates.t - Value to test.p - Optional set of predicates to use for evaluation.
true if any of predicates evaluates to true for given
value, false otherwise. Returns false if given set of predicates
is null or empty.public static <A,B> boolean isAny2(@Nullable A a, @Nullable B b, @Nullable GridPredicate2<? super A,? super B>... p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to true is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return false.
true if any of predicates evaluate to true for given
values, false otherwise.public static <A,B> boolean isAny2(@Nullable A a, @Nullable B b, @Nullable Iterable<? extends GridPredicate2<? super A,? super B>> p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to true is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return false.
true if any of predicates evaluate to true for given
values, false otherwise.public static <A,B,C> boolean isAny3(@Nullable A a, @Nullable B b, @Nullable C c, @Nullable GridPredicate3<? super A,? super B,? super C>... p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to true is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.C - Type of the 3d value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.c - 3d value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return false.
true if any of predicates evaluate to true for given
values, false otherwise.public static <A,B,C> boolean isAny3(@Nullable A a, @Nullable B b, @Nullable C c, @Nullable Iterable<? extends GridPredicate3<? super A,? super B,? super C>> p)
true for given values. Note that
evaluation will be short-circuit when first predicate evaluated to true is found.
A - Type of the 1st value for the predicates.B - Type of the 2nd value for the predicates.C - Type of the 3d value for the predicates.a - 1st value for predicate.b - 2nd value for predicate.c - 3d value for predicate.p - Optional set of predicates to use for evaluation. If no predicates provides
this method will always return false.
true if any of predicates evaluate to true for given
values, false otherwise.public static <X,Y> Collection<Y> transform(Collection<? extends X> c, GridClosure<? super X,Y> f, GridPredicate<? super X>... p)
true for this value. Note that new collection will
be created.
X - Type of the free variable for the closure and type of the collection elements.Y - Type of the closure's return value.c - Initial collection to transform.f - Closure to use for transformation.p - Optional set of predicate to use for transformation.
public static GridAbsPredicate limit(int n)
true first n-times
it's called - and false thereafter.
n - Number of calls this predicate will return true.
true first n-times it's
called - and false thereafter.public static GridAbsClosure noop()
public static <D,B> GridPredicate2<D,B> or(GridPredicate<? super D> pa, GridPredicate<? super B> pb)
true if either one of the provided predicates evaluates to true.
Note that evaluation will be "short-circuit" if first predicate evaluate to true.
Note tha both predicates must be loaded by the same class loader.
D - Type of the free variable for the first predicate.B - Type of the free variable for the second predicatepa - First predicate to compose of.pb - Second predicate to compose of.
@Nullable public static <V> V find(Iterable<? extends V> c, @Nullable V dfltVal, @Nullable GridPredicate<? super V>... p)
true.
V - Type of the collection elements.c - Input collection.dfltVal - Default value to return when no element is found.p - Optional set of finder predicates.
true - or null if such element cannot be found.@Nullable public static <V> V find(V[] c, V dfltVal, @Nullable GridPredicate<? super V>... p)
true.
V - Type of the array elements.c - Input array.dfltVal - Default value to return when no element is found.p - Optional set of finder predicates.
true - or null if such element cannot be found.public static <V,Y> Y find(Iterable<? extends V> c, Y dfltVal, GridClosure<? super V,Y> f, @Nullable GridPredicate<? super V>... p)
true.
V - Type of the collection elements.c - Input collection.dfltVal - Default value to return when no element is found.f - Transforming closure.p - Optional set of finder predicates.
true - or null if such element cannot be found.public static <V,Y> Y find(V[] c, Y dfltVal, GridClosure<? super V,Y> f, @Nullable GridPredicate<? super V>... p)
true.
V - Type of the array elements.c - Input array.dfltVal - Default value to return when no element is found.f - Transforming closure.p - Optional set of finder predicates.
true - or null if such element cannot be found.public static <T> boolean containsAny(@Nullable Collection<? extends T> c1, @Nullable Iterable<? extends T> c2)
c1 contains any elements from collection c2.
T - Type of the elements.c1 - Collection to check for containment. If null - this method returns false.c2 - Collection of elements to check. If null - this method returns false.
true if collection c1 contains at least one element from collection
c2.public static <T> boolean containsAny(@Nullable Collection<? extends T> c1, @Nullable T... c2)
c1 contains any elements from array c2.
T - Type of the elements.c1 - Collection to check for containment. If null - this method returns false.c2 - Collection of elements to check. If null - this method returns false.
true if collection c1 contains at least one element from collection
c2.public static <T> boolean containsAll(@Nullable Collection<? extends T> c1, @Nullable Iterable<? extends T> c2)
c1 contains all elements from collection c2.
T - Type of the elements.c1 - Collection to check for containment. If null - this method returns false.c2 - Collection of elements to check. If null - this method returns true
meaning that null-collection is treated as empty collection.
true if collection c1 contains all elements from collection
c2.public static <T0,T extends T0> GridPair<Collection<T>> split(@Nullable Collection<T> c, @Nullable GridPredicate<? super T>... p)
T - Type of the collection.c - Collection to split. If null - pair of nulls will be returned.
If it's empty - pair of empty collections will be returned.p - Optional filter. All elements that satisfy all provided predicates
will go into 1st collection in pair. The rest will be in 2nd collection.
If not provided, pair of original and empty collection will be returned.
public static <T> GridPair<T> pair(@Nullable T t1, @Nullable T t2)
T - Type of objects in pair.t1 - First object in pair.t2 - Second object in pair.
public static <T> GridTriple<T> triple(@Nullable T t1, @Nullable T t2, @Nullable T t3)
T - Type of objects in triple.t1 - First object in triple.t2 - Second object in triple.t3 - Third object in triple.
public static <V> GridTuple2<Collection<V>,Collection<V>> partition(Iterable<? extends V> c, GridPredicate<? super V> p)
true - and second containing the elements for which
predicate evaluates to false.
V - Type of the collection elements.c - Input collection.p - Partitioning predicate.
true - and second containing the elements for which predicate
evaluates to false.public static <V> GridTuple2<Collection<V>,Collection<V>> partition(V[] c, GridPredicate<? super V> p)
true - and second containing the elements for which predicate
evaluates to false.
V - Type of the array elements.c - Input array.p - Partitioning predicate.
true - and second containing the elements for which predicate
evaluates to false.public static <K,V> GridTuple2<Map<K,V>,Map<K,V>> partition(Map<? extends K,? extends V> m, GridPredicate2<? super K,? super V> p)
true - and second containing the entries for which predicate evaluates to false.
K - Type of the map keys.V - Type of the map values.m - Input map.p - Partitioning predicate.
true - and second containing the entries for which predicate evaluates to false.public static <V> boolean exist(Iterable<? extends V> c, @Nullable GridPredicate<? super V>... p)
true.
V - Type of the collection elements.c - Input collection.p - Optional set of checking predicates.
true if input collection contains element for which all the provided
predicates evaluates to true - otherwise returns false.public static <V> boolean exist(V[] c, @Nullable GridPredicate<? super V