当前位置: 首页>>代码示例>>Java>>正文


Java IgniteBiPredicate.apply方法代码示例

本文整理汇总了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;
    };
}
 
开发者ID:Luodian,项目名称:Higher-Cloud-Computing-Project,代码行数:23,代码来源:ComputationsChain.java

示例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;
    };
}
 
开发者ID:apache,项目名称:ignite,代码行数:23,代码来源:ComputationsChain.java

示例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);
}
 
开发者ID:apache,项目名称:ignite,代码行数:47,代码来源:GridCacheAdapter.java


注:本文中的org.apache.ignite.lang.IgniteBiPredicate.apply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。