/** * @param keys Keys. * @return If near entries for given keys are locked. */ public boolean isAllLockedNearOnly(Iterable<? extends K> keys) { A.notNull(keys, "keys"); for (K key : keys) if (!isLockedNearOnly(key)) return false; return true; }
/** * Sets JEXL context variable value and returns {@code this}. * * @param var Name of the variable in JEXL context (new or existing). * @param val Value to be set or overridden in JEXL context. * @return This predicate so that this call can be chained. */ public GridJexlPredicate2<T1, T2> with(String var, @Nullable Object val) { A.notNull(var, "var"); map.put(var, val); return this; }
/** * Creates JEXL predicate with given parameters. * * @param exprStr JEXL boolean expression. Note that non-boolean return value will evaluate this * predicate to {@code false}. * @param var1 Name of the 1st bound variable in JEXL expression. * @param var2 Name of the 2nd bound variable in JEXL expression. */ public GridJexlPredicate2(String exprStr, String var1, String var2) { A.notNull(exprStr, "exprStr", var1, "var1", var2, "var2"); this.exprStr = exprStr; this.var1 = var1; this.var2 = var2; }
/** {@inheritDoc} */ @Override public void setAttributes(Map<?, ?> attrs) { A.notNull(attrs, "attrs"); synchronized (this.attrs) { this.attrs.putAll(attrs); } }
/** {@inheritDoc} */ @Override public void setAttribute(Object key, @Nullable Object val) { A.notNull(key, "key"); synchronized (attrs) { attrs.put(key, val); } }
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public <K, V> V getAttribute(K key) { A.notNull(key, "key"); synchronized (attrs) { return (V) attrs.get(key); } }
/** {@inheritDoc} */ @Override public R get(long timeout, TimeUnit unit) throws GridException { A.ensure(timeout >= 0, "timeout cannot be negative: " + timeout); A.notNull(unit, "unit"); checkValid(); try { long now = System.currentTimeMillis(); long end = timeout == 0 ? Long.MAX_VALUE : now + MILLISECONDS.convert(timeout, unit); // Account for overflow. if (end < 0) end = Long.MAX_VALUE; synchronized (mux) { while (!done && !cancelled && now < end) { mux.wait(end - now); if (!done) now = System.currentTimeMillis(); } if (done) { if (err != null) throw U.cast(err); return res; } if (cancelled) throw new GridFutureCancelledException("Future was cancelled: " + this); throw new GridFutureTimeoutException( "Timeout was reached before computation completed [duration=" + duration() + "ms, timeout=" + unit.toMillis(timeout) + "ms]"); } } catch (InterruptedException e) { throw new GridInterruptedException( "Got interrupted while waiting for future to complete [duration=" + duration() + "ms, timeout=" + unit.toMillis(timeout) + "ms]", e); } }
/** {@inheritDoc} */ @Override public GridFuture<?> addData(K key, V val) throws GridException, IllegalStateException { A.notNull(key, "key"); return addData(new Entry0<>(key, val)); }
/** {@inheritDoc} */ @Override public GridFuture<?> addData(Map.Entry<K, V> entry) throws GridException, IllegalStateException { A.notNull(entry, "entry"); return addData(F.asList(entry)); }
/** {@inheritDoc} */ @Override public GridFuture<?> addData(Map<K, V> entries) throws IllegalStateException { A.notNull(entries, "entries"); return addData(entries.entrySet()); }
/** {@inheritDoc} */ @Override public void updater(GridDataLoadCacheUpdater<K, V> updater) { A.notNull(updater, "updater"); this.updater = updater; }