本文整理了Java中com.apollographql.apollo.api.internal.Optional.flatMap()
方法的一些代码示例,展示了Optional.flatMap()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Optional.flatMap()
方法的具体详情如下:
包路径:com.apollographql.apollo.api.internal.Optional
类名称: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;
}
}
内容来源于网络,如有侵权,请联系作者删除!