當前位置: 首頁>>代碼示例>>Java>>正文


Java BooleanSupplier類代碼示例

本文整理匯總了Java中java.util.function.BooleanSupplier的典型用法代碼示例。如果您正苦於以下問題:Java BooleanSupplier類的具體用法?Java BooleanSupplier怎麽用?Java BooleanSupplier使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


BooleanSupplier類屬於java.util.function包,在下文中一共展示了BooleanSupplier類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: awaitBusy

import java.util.function.BooleanSupplier; //導入依賴的package包/類
public static boolean awaitBusy(BooleanSupplier breakSupplier, long maxWaitTime, TimeUnit unit) throws InterruptedException {
    long maxTimeInMillis = TimeUnit.MILLISECONDS.convert(maxWaitTime, unit);
    long timeInMillis = 1;
    long sum = 0;
    while (sum + timeInMillis < maxTimeInMillis) {
        if (breakSupplier.getAsBoolean()) {
            return true;
        }
        Thread.sleep(timeInMillis);
        sum += timeInMillis;
        timeInMillis = Math.min(AWAIT_BUSY_THRESHOLD, timeInMillis * 2);
    }
    timeInMillis = maxTimeInMillis - sum;
    Thread.sleep(Math.max(timeInMillis, 0));
    return breakSupplier.getAsBoolean();
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:17,代碼來源:ESTestCase.java

示例2: doVisitAttribuut

import java.util.function.BooleanSupplier; //導入依賴的package包/類
private void doVisitAttribuut(final MetaAttribuut attribuut, final Onderzoekbundel onderzoekbundel) {
    final BooleanSupplier ontbrekendGegeven = () -> onderzoekbundel.isOntbrekend()
            && attribuut.getAttribuutElement().equals(onderzoekbundel.getElement());
    final BooleanSupplier voorkomenGegeven = () -> onderzoekbundel.getElementVoorkomensleutel() != null
            && attribuut.getParentRecord().getVoorkomensleutel() == onderzoekbundel.getElementVoorkomensleutel();
    final BooleanSupplier objectGegeven = () -> onderzoekbundel.getElementObjectsleutel() != null
            && attribuut.getParentRecord().getParentGroep().getParentObject()
            .getObjectsleutel() == onderzoekbundel.getElementObjectsleutel();

    if (ontbrekendGegeven.getAsBoolean() || voorkomenGegeven.getAsBoolean() || objectGegeven.getAsBoolean()) {
        //voor bepaalde attributen in onderzoek moet het object in onderzoek geplaatst worden
        if (onderzoekbundel.getElementObjectsleutel() != null) {
            gegevensInOnderzoekTemp.put(onderzoekbundel, attribuut.getParentRecord().getParentGroep().getParentObject());
        } else {
            gegevensInOnderzoekTemp.put(onderzoekbundel, attribuut);
        }
    }
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:19,代碼來源:OnderzoekIndex.java

示例3: doConditionalAction

import java.util.function.BooleanSupplier; //導入依賴的package包/類
private void doConditionalAction(final BooleanSupplier condition, final Action action, ExceptionBehaviour exceptionBehaviour) {
    if (condition.getAsBoolean()) {
        switch (exceptionBehaviour) {
            case CATCH:
                try {
                    action.doWork();
                } catch (Exception e) {
                    logger.error("Error performing action", e);
                }
                break;
            case THROW:
                action.doWork();
                break;
        }
    }
}
 
開發者ID:gchq,項目名稱:stroom-stats,代碼行數:17,代碼來源:LambdaLogger.java

示例4: test

import java.util.function.BooleanSupplier; //導入依賴的package包/類
@Override
public boolean test(final MetaAttribuut metaAttribuut) {
    //actieinhoud, actieverval, actie aanpassing geldigheid
    final BooleanSupplier isToekomstigVerantwoordingAttribuut = () -> metaAttribuut.getAttribuutElement().isVerantwoording()
            && toekomstigeHandelingen.contains(metaAttribuut.<Actie>getWaarde().getAdministratieveHandeling());
    //ts verval, nadere aanduiding verval. Voor afnemerindicaties is alleen nu van belang bij bepaling actueel.
    final BooleanSupplier isToekomstigVervalGerelateerdAttribuut = () ->
            metaAttribuut.getAttribuutElement().isDatumTijdVerval()
                    && (metaAttribuut.getParentRecord().getParentGroep().getGroepElement().getVerantwoordingCategorie() == VerantwoordingCategorie.D
                    || toekomstigeHandelingen.contains(metaAttribuut.getParentRecord().getActieVerval().getAdministratieveHandeling()));
    //verwijder actieverval indien actievervalmutlev gevuld is EN niet in tot toekomstige handeling behoort (actieverval is in dit geval leidend)
    final BooleanSupplier isVervalMetMutLevVervalGevuld = () -> metaAttribuut.getAttribuutElement().isActieVerval()
            && metaAttribuut.getParentRecord().getActieVervalTbvLeveringMutaties() != null
            && toekomstigeHandelingen.contains(metaAttribuut.getParentRecord().getActieVervalTbvLeveringMutaties().getAdministratieveHandeling());
    //true is behouden
    return !Lists.newArrayList(isToekomstigVerantwoordingAttribuut, isToekomstigVervalGerelateerdAttribuut,
            isVervalMetMutLevVervalGevuld).stream().anyMatch(BooleanSupplier::getAsBoolean);
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:19,代碼來源:WisToekomstigFormeelAttribuutPredicate.java

示例5: attempt

import java.util.function.BooleanSupplier; //導入依賴的package包/類
/** Attempt to wait the given condition to return true multiple times. */
static void attempt(
    BooleanSupplier condition, int numAttempts, long sleepMs, String name, Logger log)
    throws InterruptedException {
  Objects.requireNonNull(condition, "condition == null");
  Preconditions.assertTrue(numAttempts > 0, () -> "numAttempts = " + numAttempts + " <= 0");
  Preconditions.assertTrue(sleepMs >= 0L, () -> "sleepMs = " + sleepMs + " < 0");

  for(int i = 1; i <= numAttempts; i++) {
    if (condition.getAsBoolean()) {
      return;
    }
    if (log != null && log.isWarnEnabled()) {
      log.warn("FAILED " + name + " attempt #" + i + "/" + numAttempts
          + ": sleep " + sleepMs + "ms and then retry.");
    }
    if (sleepMs > 0) {
      Thread.sleep(sleepMs);
    }
  }

  if (!condition.getAsBoolean()) {
    throw new IllegalStateException("Failed " + name + " for " + numAttempts + " attempts.");
  }
}
 
開發者ID:apache,項目名稱:incubator-ratis,代碼行數:26,代碼來源:JavaUtils.java

示例6: waitUntil

import java.util.function.BooleanSupplier; //導入依賴的package包/類
protected boolean waitUntil(final BooleanSupplier supplier, final long timeout) {
    final long start = System.currentTimeMillis();
    while (true) {
        if (supplier.getAsBoolean()) {
            return true;
        }
        try {
            Thread.sleep(10);
        } catch (final InterruptedException ignore) {
        }
        final long now = System.currentTimeMillis();
        if (now - start > timeout) {
            return false;
        }
    }
}
 
開發者ID:silentbalanceyh,項目名稱:vertx-zero,代碼行數:17,代碼來源:AsyncTestBase.java

示例7: runTimerOnEDT

import java.util.function.BooleanSupplier; //導入依賴的package包/類
/**
 * Allow to run method at specified interval on EDT
 * <p>
 * Inside boolean supplier, return false to stop timer
 *
 * @param interval
 * @param run
 */
public static void runTimerOnEDT(int interval, BooleanSupplier run) {

    ActionListener action = (e) -> {

        if (SwingUtilities.isEventDispatchThread() == false) {
            throw new IllegalStateException("Do not run this method on Event Dispatch Thread");
        }

        // perform action and get return value
        boolean continueTimer = run.getAsBoolean();

        // if return false, stop timer
        if (continueTimer == false) {
            ((Timer) e.getSource()).stop();
        }
    };

    // launch timer
    Timer timer = new Timer(interval, action);
    timer.start();
}
 
開發者ID:remipassmoilesel,項目名稱:simple-hostel-management,代碼行數:30,代碼來源:ThreadManager.java

示例8: getPeriodicPredicate

import java.util.function.BooleanSupplier; //導入依賴的package包/類
private static BooleanSupplier getPeriodicPredicate(long periodInMillis) {
    return new BooleanSupplier() {

        private long lastRun = INIT_TIME;

        @Override
        public boolean getAsBoolean() {
            long now = System.currentTimeMillis();
            boolean result = now - lastRun >= periodInMillis;
            if (result) {
                lastRun = now;
            }
            return result;
        }
    };
}
 
開發者ID:epam,項目名稱:Lagerta,代碼行數:17,代碼來源:PeriodicRule.java

示例9: isGeldigOp

import java.util.function.BooleanSupplier; //導入依賴的package包/類
/**
 * Geeft aan of deze Autorisatiebundel geldig is op de opgegeven datum. Checkt dat toegangleveringautorisatie geldig en niet geblokkeerd is. Checkt dat
 * leveringautorisatie geldig en niet geblokkeerd is. Checkt dat dienstbundel hij niet geblokkeerd is (check op geldigheid niet nodig) Checkt dat dienst
 * geldig en niet geblokkeerd is. Checkt dat partijrol geldig is. Checkt dat partij geldig is.
 * @param datum de datum
 * @param tla de ToegangLeveringsAutorisatie
 * @param dienst @return true als deze geldig is op de gegeven datum, anders false
 */
@Bedrijfsregel(Regel.R1261)
@Bedrijfsregel(Regel.R1265)
@Bedrijfsregel(Regel.R2056)
@Bedrijfsregel(Regel.R1263)
@Bedrijfsregel(Regel.R1264)
@Bedrijfsregel(Regel.R1258)
@Bedrijfsregel(Regel.R2239)
@Bedrijfsregel(Regel.R2242)
@Bedrijfsregel(Regel.R2245)
private static boolean isGeldigOp(final Integer datum, final ToegangLeveringsAutorisatie tla, final Dienst dienst) {
    final PartijRol geautoriseerde = tla.getGeautoriseerde();
    final List<BooleanSupplier> predicateList = Lists.newArrayList(
            () -> AutAutUtil.isGeldigEnNietGeblokkeerdInclusiefLeveringsautorisatie(tla, datum),
            () -> AutAutUtil.isGeldigEnNietGeblokkeerd(dienst, datum),
            () -> AutAutUtil.isGeldigEnNietGeblokkeerd(dienst.getDienstbundel(), datum),
            () -> AutAutUtil.isGeldigOp(datum, geautoriseerde.getDatumIngang(), geautoriseerde.getDatumEinde()),
            () -> AutAutUtil.isGeldigOp(datum, geautoriseerde.getPartij().getDatumIngang(), geautoriseerde.getPartij().getDatumEinde())
    );
    return predicateList.stream().allMatch(BooleanSupplier::getAsBoolean);
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:29,代碼來源:AutorisatiebundelCacheUtil.java

示例10: getDag

import java.util.function.BooleanSupplier; //導入依賴的package包/類
private static Datumdeel getDag(final BRPExpressietaalParser.DayContext dagCtx, final Datumdeel jaar,
                                final Datumdeel maand) {
    final Datumdeel datumdeel;
    if (DatumLiteral.ONBEKEND_DATUMDEEL_STRING.equals(dagCtx.getText())) {
        datumdeel = Datumdeel.ONBEKEND_DATUMDEEL;
    } else {
        final int dagWaarde = Integer.parseInt(dagCtx.getText());

        if (dagWaarde != 0) {
            final BooleanSupplier geldigBinnenRange = () ->
                    ChronoField.DAY_OF_MONTH.range().isValidIntValue(dagWaarde);
            final BooleanSupplier jaarEnMaandBekend = () ->
                    jaar != Datumdeel.ONBEKEND_DATUMDEEL && jaar.getWaarde() != 0
                            && maand != Datumdeel.ONBEKEND_DATUMDEEL && maand.getWaarde() != 0;
            final BooleanSupplier geldigBinnenMaandRange = () ->
                    DatumLiteral.dagenInMaand(jaar.getWaarde(), maand.getWaarde()) >= dagWaarde;
            if (!geldigBinnenRange.getAsBoolean() || jaarEnMaandBekend.getAsBoolean() && !geldigBinnenMaandRange.getAsBoolean()) {
                throw new ExpressieParseException("Dag incorrect: " + dagWaarde);
            }
        }
        datumdeel = Datumdeel.valueOf(dagWaarde);
    }
    return datumdeel;
}
 
開發者ID:MinBZK,項目名稱:OperatieBRP,代碼行數:25,代碼來源:DatumParserUtil.java

示例11: gcAwait

import java.util.function.BooleanSupplier; //導入依賴的package包/類
static void gcAwait(BooleanSupplier s) {
    for (int i = 0; i < 10; i++) {
        if (s.getAsBoolean())
            return;
        forceFullGc();
    }
    throw new AssertionError("failed to satisfy condition");
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:9,代碼來源:FJExceptionTableLeak.java

示例12: spinWaitUntil

import java.util.function.BooleanSupplier; //導入依賴的package包/類
static void spinWaitUntil(BooleanSupplier predicate, long timeoutMillis) {
    long startTime = -1L;
    while (!predicate.getAsBoolean()) {
        if (startTime == -1L)
            startTime = System.nanoTime();
        else if (millisElapsedSince(startTime) > timeoutMillis)
            throw new AssertionError(
                String.format("timed out after %s ms", timeoutMillis));
        Thread.yield();
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:12,代碼來源:Custom.java

示例13: parse

import java.util.function.BooleanSupplier; //導入依賴的package包/類
@Override
public BooleanSupplier parse(JsonContext context, JsonObject json) {
    if (json.has("value") && CustomConfiguration.configValues.containsKey(json.get("value").getAsString())) {
        return () -> CustomConfiguration.configValues.get(json.get("value").getAsString());
    }
    return () -> false;
}
 
開發者ID:Buuz135,項目名稱:Industrial-Foregoing,代碼行數:8,代碼來源:ConfigurationConditionFactory.java

示例14: HysteresisPollingTrigger

import java.util.function.BooleanSupplier; //導入依賴的package包/類
public HysteresisPollingTrigger(BooleanSupplier risingCheck, BooleanSupplier fallingCheck,
                                Runnable risingAction, Runnable fallingAction,
                                State initialState,
                                Duration interval) {
    this.risingCheck = risingCheck;
    this.fallingCheck = fallingCheck;
    this.risingAction = risingAction;
    this.fallingAction = fallingAction;
    this.interval = interval;
    this.state = initialState;
}
 
開發者ID:MatzeS,項目名稱:blackbird,代碼行數:12,代碼來源:HysteresisPollingTrigger.java

示例15: waitForDocs

import java.util.function.BooleanSupplier; //導入依賴的package包/類
/**
 * Waits until at least a give number of document is visible for searchers
 *
 * @param numDocs         number of documents to wait for
 * @param maxWaitTime     if not progress have been made during this time, fail the test
 * @param maxWaitTimeUnit the unit in which maxWaitTime is specified
 * @param indexer         a {@link org.elasticsearch.test.BackgroundIndexer}. If supplied it will be first checked for documents indexed.
 *                        This saves on unneeded searches.
 * @return the actual number of docs seen.
 */
public long waitForDocs(final long numDocs, int maxWaitTime, TimeUnit maxWaitTimeUnit, @Nullable final BackgroundIndexer indexer)
    throws InterruptedException {
    final AtomicLong lastKnownCount = new AtomicLong(-1);
    long lastStartCount = -1;
    BooleanSupplier testDocs = () -> {
        if (indexer != null) {
            lastKnownCount.set(indexer.totalIndexedDocs());
        }
        if (lastKnownCount.get() >= numDocs) {
            try {
                long count = client().prepareSearch().setSize(0).setQuery(matchAllQuery()).execute().actionGet().getHits().getTotalHits();
                if (count == lastKnownCount.get()) {
                    // no progress - try to refresh for the next time
                    client().admin().indices().prepareRefresh().get();
                }
                lastKnownCount.set(count);
            } catch (Exception e) { // count now acts like search and barfs if all shards failed...
                logger.debug("failed to executed count", e);
                return false;
            }
            logger.debug("[{}] docs visible for search. waiting for [{}]", lastKnownCount.get(), numDocs);
        } else {
            logger.debug("[{}] docs indexed. waiting for [{}]", lastKnownCount.get(), numDocs);
        }
        return lastKnownCount.get() >= numDocs;
    };

    while (!awaitBusy(testDocs, maxWaitTime, maxWaitTimeUnit)) {
        if (lastStartCount == lastKnownCount.get()) {
            // we didn't make any progress
            fail("failed to reach " + numDocs + "docs");
        }
        lastStartCount = lastKnownCount.get();
    }
    return lastKnownCount.get();
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:47,代碼來源:ESIntegTestCase.java


注:本文中的java.util.function.BooleanSupplier類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。