本文整理汇总了Java中org.apache.ignite.lang.IgniteBiPredicate.apply方法的典型用法代码示例。如果您正苦于以下问题:Java IgniteBiPredicate.apply方法的具体用法?Java IgniteBiPredicate.apply怎么用?Java IgniteBiPredicate.apply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.ignite.lang.IgniteBiPredicate
的用法示例。
在下文中一共展示了IgniteBiPredicate.apply方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: thenWhile
import org.apache.ignite.lang.IgniteBiPredicate; //导入方法依赖的package包/类
/**
* Combine this computation chain with other computation chain in the following way:
* 1. perform this calculations chain and get result r.
* 2. while 'cond(r)' is true, r = otherChain(r, context)
* 3. return r.
*
* @param cond Condition checking if 'while' loop should continue.
* @param otherChain Chain to be combined with this chain.
* @return Combination of this chain and otherChain.
*/
default ComputationsChain<L, K, V, I, O> thenWhile(IgniteBiPredicate<O, L> cond,
ComputationsChain<L, K, V, O, O> otherChain) {
ComputationsChain<L, K, V, I, O> me = this;
return (input, context) -> {
O res = me.process(input, context);
while (cond.apply(res, context.localContext()))
res = otherChain.process(res, context);
return res;
};
}
示例2: thenWhile
import org.apache.ignite.lang.IgniteBiPredicate; //导入方法依赖的package包/类
/**
* Combine this computation chain with other computation chain in the following way:
* 1. perform this calculations chain and get result r.
* 2. while 'cond(r)' is true, r = otherChain(r, context)
* 3. return r.
*
* @param cond Condition checking if 'while' loop should continue.
* @param otherChain Chain to be combined with this chain.
* @return Combination of this chain and otherChain.
*/
default ComputationsChain<L, K, V, I, O> thenWhile(IgniteBiPredicate<O, L> cond,
ComputationsChain<L, K, V, O, O> otherChain) {
ComputationsChain<L, K, V, I, O> me = this;
return (input, context) -> {
O res = me.process(input, context);
while (cond.apply(res, context.localContext()))
res = otherChain.process(res, context);
return res;
};
}
示例3: loadEntry
import org.apache.ignite.lang.IgniteBiPredicate; //导入方法依赖的package包/类
/**
* @param key Key.
* @param val Value.
* @param ver Cache version.
* @param p Optional predicate.
* @param topVer Topology version.
* @param replicate Replication flag.
* @param ttl TTL.
*/
private void loadEntry(KeyCacheObject key,
Object val,
GridCacheVersion ver,
@Nullable IgniteBiPredicate<Object, Object> p,
AffinityTopologyVersion topVer,
boolean replicate,
long ttl) {
if (p != null && !p.apply(key.value(ctx.cacheObjectContext(), false), val))
return;
CacheObject cacheVal = ctx.toCacheObject(val);
GridCacheEntryEx entry = entryEx(key);
try {
entry.initialValue(cacheVal,
ver,
ttl,
CU.EXPIRE_TIME_CALCULATE,
false,
topVer,
replicate ? DR_LOAD : DR_NONE,
true);
}
catch (IgniteCheckedException e) {
throw new IgniteException("Failed to put cache value: " + entry, e);
}
catch (GridCacheEntryRemovedException ignore) {
if (log.isDebugEnabled())
log.debug("Got removed entry during loadCache (will ignore): " + entry);
}
finally {
ctx.evicts().touch(entry, topVer);
}
CU.unwindEvicts(ctx);
}