java.util.Optional#or ( )源码实例Demo

下面列出了java.util.Optional#or ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: besu   文件: InSyncTracker.java
private Optional<Boolean> currentSyncStatus(
    final ChainHead localChain,
    final Optional<ChainHeadEstimate> syncTargetChain,
    final Optional<ChainHeadEstimate> bestPeerChain) {
  final Optional<Boolean> inSyncWithSyncTarget =
      syncTargetChain.map(remote -> isInSync(localChain, remote));
  final Optional<Boolean> inSyncWithBestPeer =
      bestPeerChain.map(remote -> isInSync(localChain, remote));
  // If we're out of sync with either peer, we're out of sync
  if (inSyncWithSyncTarget.isPresent() && !inSyncWithSyncTarget.get()) {
    return Optional.of(false);
  }
  if (inSyncWithBestPeer.isPresent() && !inSyncWithBestPeer.get()) {
    return Optional.of(false);
  }
  // Otherwise, if either peer is in sync, we're in sync
  return inSyncWithSyncTarget.or(() -> inSyncWithBestPeer);
}
 
@Test
@DisplayName("return an Optional of either a non-null value or from a Supplier")
@Tag("PASSING")
@Order(1)
public void orReturnOptional() {

    Optional<String> defaultOptional = Optional.of("supplied");
    Optional<String> anOptional = Optional.empty();

    /*
     * DONE:
     *  Replace the empty optional to either return the anOptional, if it has a value
     *  or return the defaultOptional (use a Supplier)
     *  Check API: java.util.Optional.or(?)
     */
    Optional<String> nonNullOptional = anOptional.or(() -> defaultOptional);

    assertTrue(nonNullOptional instanceof Optional,
            "The nonNullOptional should be an instance of Optional");

    assertFalse(nonNullOptional.isEmpty(),
            "The nonNullOptional should not be empty");
}
 
源代码3 项目: vividus   文件: ScreenshotTaker.java
@Override
public ru.yandex.qatools.ashot.Screenshot takeAshotScreenshot(SearchContext searchContext,
        Optional<ScreenshotConfiguration> screenshotConfiguration)
{
    Optional<ScreenshotConfiguration> configuration = screenshotConfiguration.or(this::getConfiguration);
    AShot aShot = createAShot(false, configuration);
    return takeScreenshot(searchContext, aShot,
            configuration.map(ScreenshotConfiguration::getScrollableElement).flatMap(Supplier::get));
}
 
源代码4 项目: james-project   文件: ICALToJsonAttribute.java
private Optional<MailAddress> retrieveSender(Mail mail) throws MessagingException {
    Optional<MailAddress> fromMime = StreamUtils.ofOptional(
        Optional.ofNullable(mail.getMessage())
            .map(Throwing.function(MimeMessage::getFrom).orReturn(new Address[]{})))
        .map(address -> (InternetAddress) address)
        .map(InternetAddress::getAddress)
        .map(MaybeSender::getMailSender)
        .flatMap(MaybeSender::asStream)
        .findFirst();

    return fromMime.or(() -> mail.getMaybeSender().asOptional());
}
 
源代码5 项目: milkman   文件: ContentSearch.java
private Optional<MatchResult> getPrevMatchFrom(int caretPosition, List<MatchResult> matches) {
    Optional<MatchResult> prev = matches.stream().filter(m -> m.end() < caretPosition).reduce((a,b) -> b); // find last
    return prev.or(() -> matches.stream().filter(m -> m.start() > caretPosition).reduce((a,b) -> b));
}
 
源代码6 项目: milkman   文件: ContentSearch.java
private Optional<MatchResult> getNextMatchFrom(int caretPosition, List<MatchResult> matches) {
    Optional<MatchResult> first = matches.stream().filter(m -> m.start() > caretPosition).findFirst();
    return first.or(() -> matches.stream().filter(m -> m.end() < caretPosition).findFirst());
}
 
源代码7 项目: Java-Coding-Problems   文件: Book.java
public Optional<String> findStatusPrefer() {

        // fetch an Optional prone to be empty
        Optional<String> status = Optional.empty();

        return status.or(() -> Optional.of(BOOK_STATUS));
    }