com.apollographql.apollo.api.internal.Optional.flatMap()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(107)

本文整理了Java中com.apollographql.apollo.api.internal.Optional.flatMap()方法的一些代码示例,展示了Optional.flatMap()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Optional.flatMap()方法的具体详情如下:
包路径:com.apollographql.apollo.api.internal.Optional
类名称:Optional
方法名:flatMap

Optional.flatMap介绍

暂无

代码示例

代码示例来源:origin: apollographql/apollo-android

Optional<InterceptorRequest> handleProtocolNegotiation(final InterceptorRequest request,
  InterceptorResponse response) {
 return response.parsedResponse.flatMap(new Function<Response, Optional<InterceptorRequest>>() {
  @NotNull @Override public Optional<InterceptorRequest> apply(@NotNull Response response) {
   if (response.hasErrors()) {
    if (isPersistedQueryNotFound(response.errors())) {
     logger.w("GraphQL server couldn't find Automatic Persisted Query for operation name: "
       + request.operation.name().name() + " id: " + request.operation.operationId());
     return Optional.of(request.toBuilder().sendQueryDocument(true).build());
    }
    if (isPersistedQueryNotSupported(response.errors())) {
     // TODO how to disable Automatic Persisted Queries in future and how to notify user about this
     logger.e("GraphQL server doesn't support Automatic Persisted Queries");
     return Optional.of(request.toBuilder().sendQueryDocument(true).build());
    }
   }
   return Optional.absent();
  }
 });
}

代码示例来源:origin: apollographql/apollo-android

@Override public Record call() throws Exception {
  return nextCache().flatMap(new Function<NormalizedCache, Optional<Record>>() {
   @NotNull @Override public Optional<Record> apply(@NotNull NormalizedCache cache) {
    return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
   }
  }).get(); // lruCache.get(key, callable) requires non-null.
 }
});

代码示例来源:origin: apollographql/apollo-android

@Nullable @Override public Record loadRecord(@NotNull final String key, @NotNull final CacheHeaders cacheHeaders) {
 checkNotNull(key, "key == null");
 checkNotNull(cacheHeaders, "cacheHeaders == null");
 try {
  final Optional<Record> nonOptimisticRecord = nextCache()
    .flatMap(new Function<NormalizedCache, Optional<Record>>() {
     @NotNull @Override public Optional<Record> apply(@NotNull NormalizedCache cache) {
      return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
     }
    });
  final RecordJournal journal = lruCache.getIfPresent(key);
  if (journal != null) {
   return nonOptimisticRecord.map(new Function<Record, Record>() {
    @NotNull @Override public Record apply(@NotNull Record record) {
     Record result = record.clone();
     result.mergeWith(journal.snapshot);
     return result;
    }
   }).or(journal.snapshot.clone());
  } else {
   return nonOptimisticRecord.orNull();
  }
 } catch (Exception ignore) {
  return null;
 }
}

代码示例来源:origin: apollographql/apollo-android

@Test
public void testFlatMapPresentFunctionReturnsNull() {
 try {
  Optional<String> unused = Optional.of("a").flatMap(new Function<String, Optional<String>>() {
   @NotNull @Override public Optional<String> apply(@NotNull String s) {
    return null;
   }
  });
  fail("Should throw if Function returns null.");
 } catch (NullPointerException expected) {
 }
}

代码示例来源:origin: apollographql/apollo-android

@Test
 public void testFlatMapAbssentFunctionReturnsNull() {
  assertEquals(Optional.absent(), Optional.absent().flatMap(new Function<Object, Optional<Object>>() {
   @NotNull @Override public Optional<Object> apply(@NotNull Object o) {
    return null;
   }
  }));
 }
}

代码示例来源:origin: apollographql/apollo-android

@Test
public void testFlatMapMapPresentIdentity() {
 assertEquals(Optional.of("a"), Optional.of("a").flatMap(new Function<String, Optional<String>>() {
    @NotNull @Override public Optional<String> apply(@NotNull String s) {
     return Optional.of(s);
    }
   })
 );
}

代码示例来源:origin: apollographql/apollo-android

@Test
public void testFlatMapPresentToString() {
 assertEquals(Optional.of("42"), Optional.of(42).flatMap(new Function<Integer, Optional<String>>() {
  @NotNull @Override public Optional<String> apply(@NotNull Integer integer) {
   return Optional.of(integer.toString());
  }
 }));
}

代码示例来源:origin: apollographql/apollo-android

@Test
public void testFlatMapAbsent() {
 assertEquals(Optional.absent(), Optional.absent().flatMap(new Function<Object, Optional<String>>() {
  @NotNull @Override public Optional<String> apply(@NotNull Object o) {
   return Optional.of(o.toString());
  }
 }));
}

代码示例来源:origin: com.amazonaws/aws-android-sdk-appsync-runtime

@Override public Record call() throws Exception {
  return nextCache().flatMap(new Function<NormalizedCache, Optional<Record>>() {
   @Nonnull @Override public Optional<Record> apply(@Nonnull NormalizedCache cache) {
    return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
   }
  }).get(); // lruCache.get(key, callable) requires non-null.
 }
});

代码示例来源:origin: awslabs/aws-mobile-appsync-sdk-android

@Override public Record call() throws Exception {
  return nextCache().flatMap(new Function<NormalizedCache, Optional<Record>>() {
   @Nonnull @Override public Optional<Record> apply(@Nonnull NormalizedCache cache) {
    return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
   }
  }).get(); // lruCache.get(key, callable) requires non-null.
 }
});

代码示例来源:origin: awslabs/aws-mobile-appsync-sdk-android

@Nullable public Record loadRecord(@Nonnull final String key, @Nonnull final CacheHeaders cacheHeaders) {
 return selectRecordForKey(key)
   .apply(new Action<Record>() {
    @Override
    public void apply(@Nonnull Record record) {
     if (cacheHeaders.hasHeader(EVICT_AFTER_READ)) {
      deleteRecord(key);
     }
    }
   })
   .or(nextCache().flatMap(new Function<NormalizedCache, Optional<Record>>() {
    @Nonnull @Override
    public Optional<Record> apply(@Nonnull NormalizedCache cache) {
     return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
    }
   }))
   .orNull();
}

代码示例来源:origin: com.amazonaws/aws-android-sdk-appsync-runtime

@Nullable @Override public Record loadRecord(@Nonnull final String key, @Nonnull final CacheHeaders cacheHeaders) {
 checkNotNull(key, "key == null");
 checkNotNull(cacheHeaders, "cacheHeaders == null");
 try {
  final Optional<Record> nonOptimisticRecord = nextCache()
    .flatMap(new Function<NormalizedCache, Optional<Record>>() {
     @Nonnull @Override public Optional<Record> apply(@Nonnull NormalizedCache cache) {
      return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
     }
    });
  final RecordJournal journal = lruCache.getIfPresent(key);
  if (journal != null) {
   return nonOptimisticRecord.map(new Function<Record, Record>() {
    @Nonnull @Override public Record apply(@Nonnull Record record) {
     Record result = record.clone();
     result.mergeWith(journal.snapshot);
     return result;
    }
   }).or(journal.snapshot.clone());
  } else {
   return nonOptimisticRecord.orNull();
  }
 } catch (Exception ignore) {
  return null;
 }
}

代码示例来源:origin: awslabs/aws-mobile-appsync-sdk-android

@Nullable @Override public Record loadRecord(@Nonnull final String key, @Nonnull final CacheHeaders cacheHeaders) {
 checkNotNull(key, "key == null");
 checkNotNull(cacheHeaders, "cacheHeaders == null");
 try {
  final Optional<Record> nonOptimisticRecord = nextCache()
    .flatMap(new Function<NormalizedCache, Optional<Record>>() {
     @Nonnull @Override public Optional<Record> apply(@Nonnull NormalizedCache cache) {
      return Optional.fromNullable(cache.loadRecord(key, cacheHeaders));
     }
    });
  final RecordJournal journal = lruCache.getIfPresent(key);
  if (journal != null) {
   return nonOptimisticRecord.map(new Function<Record, Record>() {
    @Nonnull @Override public Record apply(@Nonnull Record record) {
     Record result = record.clone();
     result.mergeWith(journal.snapshot);
     return result;
    }
   }).or(journal.snapshot.clone());
  } else {
   return nonOptimisticRecord.orNull();
  }
 } catch (Exception ignore) {
  return null;
 }
}

相关文章