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


Java Functions類代碼示例

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


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

示例1: enclosedBy

import com.google.common.base.Functions; //導入依賴的package包/類
@Override
public Ordering<Element> enclosedBy(Element element) {
  if (element instanceof ElementImpl &&
      Iterables.all(element.getEnclosedElements(), Predicates.instanceOf(ElementImpl.class))) {

    ElementImpl implementation = (ElementImpl) element;
    if (implementation._binding instanceof SourceTypeBinding) {
      SourceTypeBinding sourceBinding = (SourceTypeBinding) implementation._binding;

      return Ordering.natural().onResultOf(
          Functions.compose(bindingsToSourceOrder(sourceBinding), this));
    }
  }

  return DEFAULT_PROVIDER.enclosedBy(element);
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:17,代碼來源:SourceOrdering.java

示例2: testBulkGetReturnsSorted

import com.google.common.base.Functions; //導入依賴的package包/類
public void testBulkGetReturnsSorted() {
  for (Striped<?> striped : allImplementations()) {
    Map<Object, Integer> indexByLock = Maps.newHashMap();
    for (int i = 0; i < striped.size(); i++) {
      indexByLock.put(striped.getAt(i), i);
    }

    // ensure that bulkGet returns locks in monotonically increasing order
    for (int objectsNum = 1; objectsNum <= striped.size() * 2; objectsNum++) {
      Set<Object> objects = Sets.newHashSetWithExpectedSize(objectsNum);
      for (int i = 0; i < objectsNum; i++) {
        objects.add(new Object());
      }

      Iterable<?> locks = striped.bulkGet(objects);
      assertTrue(Ordering.natural().onResultOf(Functions.forMap(indexByLock)).isOrdered(locks));

      // check idempotency
      Iterable<?> locks2 = striped.bulkGet(objects);
      assertEquals(Lists.newArrayList(locks), Lists.newArrayList(locks2));
    }
  }
}
 
開發者ID:paul-hammant,項目名稱:googles-monorepo-demo,代碼行數:24,代碼來源:StripedTest.java

示例3: testTransformReflectsUnderlyingMap

import com.google.common.base.Functions; //導入依賴的package包/類
public void testTransformReflectsUnderlyingMap() {
  Map<String, Integer> underlying = Maps.newHashMap();
  underlying.put("a", 1);
  underlying.put("b", 2);
  underlying.put("c", 3);
  Map<String, String> map
      = Maps.transformValues(underlying, Functions.toStringFunction());
  assertEquals(underlying.size(), map.size());

  underlying.put("d", 4);
  assertEquals(underlying.size(), map.size());
  assertEquals("4", map.get("d"));

  underlying.remove("c");
  assertEquals(underlying.size(), map.size());
  assertFalse(map.containsKey("c"));

  underlying.clear();
  assertEquals(underlying.size(), map.size());
}
 
開發者ID:zugzug90,項目名稱:guava-mock,代碼行數:21,代碼來源:MapsTransformValuesUnmodifiableIteratorTest.java

示例4: testTransformEquals

import com.google.common.base.Functions; //導入依賴的package包/類
public void testTransformEquals() {
  Map<String, Integer> underlying = ImmutableMap.of("a", 0, "b", 1, "c", 2);
  Map<String, Integer> expected
      = Maps.transformValues(underlying, Functions.<Integer>identity());

  assertMapsEqual(expected, expected);

  Map<String, Integer> equalToUnderlying = Maps.newTreeMap();
  equalToUnderlying.putAll(underlying);
  Map<String, Integer> map = Maps.transformValues(
      equalToUnderlying, Functions.<Integer>identity());
  assertMapsEqual(expected, map);

  map = Maps.transformValues(ImmutableMap.of("a", 1, "b", 2, "c", 3),
      new Function<Integer, Integer>() {
        @Override
        public Integer apply(Integer from) {
          return from - 1;
        }
      }
  );
  assertMapsEqual(expected, map);
}
 
開發者ID:zugzug90,項目名稱:guava-mock,代碼行數:24,代碼來源:MapsTransformValuesUnmodifiableIteratorTest.java

示例5: testOnResultOf_chained

import com.google.common.base.Functions; //導入依賴的package包/類
public void testOnResultOf_chained() {
  Comparator<String> comparator = DECREASING_INTEGER.onResultOf(
      StringLengthFunction.StringLength);
  assertTrue(comparator.compare("to", "be") == 0);
  assertTrue(comparator.compare("not", "or") < 0);
  assertTrue(comparator.compare("to", "that") > 0);

  new EqualsTester()
      .addEqualityGroup(
          comparator,
          DECREASING_INTEGER.onResultOf(StringLengthFunction.StringLength))
      .addEqualityGroup(
          DECREASING_INTEGER.onResultOf(Functions.constant(1)))
      .addEqualityGroup(Ordering.natural())
      .testEquals();
  reserializeAndAssert(comparator);
  assertEquals("Ordering.natural().reverse().onResultOf(StringLength)",
      comparator.toString());
}
 
開發者ID:zugzug90,項目名稱:guava-mock,代碼行數:20,代碼來源:OrderingTest.java

示例6: visitGrantPrivilegeAnalyzedStatement

import com.google.common.base.Functions; //導入依賴的package包/類
@Override
public ListenableFuture<Long> visitGrantPrivilegeAnalyzedStatement(GrantPrivilegeAnalyzedStatement analysis, SingleJobTask jobId) {
    String tableName = analysis.getTable();
    boolean isDBPrivilege = true;
    if (tableName.contains(".")) {
        isDBPrivilege = false;
    }
    GrantOrRevokeUserPrivilegeRequest grantRequest = new GrantOrRevokeUserPrivilegeRequest(analysis.getUsername(),
            tableName, PrivilegeType.valueOf(analysis.getPrivilege().toUpperCase()),
            isDBPrivilege, true);
    grantRequest.putHeader(LoginUserContext.USER_INFO_KEY, analysis.getParameterContext().getLoginUserContext());
    final SettableFuture<Long> future = SettableFuture.create();
    ActionListener<GrantOrRevokeUserPrivilegeResponse> listener = ActionListeners.wrap(future, Functions.<Long>constant(ONE));
    transportActionProvider.transportGrantOrRevokeUserPrivilegeAction().execute(grantRequest, listener);
    return future;
}
 
開發者ID:baidu,項目名稱:Elasticsearch,代碼行數:17,代碼來源:DDLStatementDispatcher.java

示例7: visitRevokePrivilegeAnalyzedStatement

import com.google.common.base.Functions; //導入依賴的package包/類
@Override
public ListenableFuture<Long> visitRevokePrivilegeAnalyzedStatement(RevokePrivilegeAnalyzedStatement analysis, SingleJobTask jobId) {
    String tableName = analysis.getTable();
    boolean isDBPrivilege = true;
    if (tableName.contains(".")) {
        isDBPrivilege = false;
    }
    GrantOrRevokeUserPrivilegeRequest grantRequest = new GrantOrRevokeUserPrivilegeRequest(analysis.getUsername(),
            tableName, PrivilegeType.valueOf(analysis.getPrivilege().toUpperCase()),
            isDBPrivilege, false);
    grantRequest.putHeader(LoginUserContext.USER_INFO_KEY, analysis.getParameterContext().getLoginUserContext());
    final SettableFuture<Long> future = SettableFuture.create();
    ActionListener<GrantOrRevokeUserPrivilegeResponse> listener = ActionListeners.wrap(future, Functions.<Long>constant(ONE));
    transportActionProvider.transportGrantOrRevokeUserPrivilegeAction().execute(grantRequest, listener);
    return future;
}
 
開發者ID:baidu,項目名稱:Elasticsearch,代碼行數:17,代碼來源:DDLStatementDispatcher.java

示例8: dispatch

import com.google.common.base.Functions; //導入依賴的package包/類
public ListenableFuture<Long> dispatch(final RestoreSnapshotAnalyzedStatement analysis) {
    final SettableFuture<Long> resultFuture = SettableFuture.create();

    boolean waitForCompletion = analysis.settings().getAsBoolean(WAIT_FOR_COMPLETION.settingName(), WAIT_FOR_COMPLETION.defaultValue());
    boolean ignoreUnavailable = analysis.settings().getAsBoolean(IGNORE_UNAVAILABLE.settingName(), IGNORE_UNAVAILABLE.defaultValue());

    // ignore_unavailable as set by statement
    IndicesOptions indicesOptions = IndicesOptions.fromOptions(ignoreUnavailable, true, true, false, IndicesOptions.lenientExpandOpen());

    RestoreSnapshotRequest request = new RestoreSnapshotRequest(analysis.repositoryName(), analysis.snapshotName())
            .indices(analysis.indices())
            .indicesOptions(indicesOptions)
            .settings(analysis.settings())
            .waitForCompletion(waitForCompletion)
            .includeGlobalState(false)
            .includeAliases(true);
    ActionListener<RestoreSnapshotResponse> listener = ActionListeners.wrap(resultFuture, Functions.constant(1L));
    transportActionProvider.transportRestoreSnapshotAction().execute(request, listener);
    return resultFuture;
}
 
開發者ID:baidu,項目名稱:Elasticsearch,代碼行數:21,代碼來源:SnapshotRestoreDDLDispatcher.java

示例9: ESClusterUpdateSettingsTask

import com.google.common.base.Functions; //導入依賴的package包/類
public ESClusterUpdateSettingsTask(UUID jobId,
                                   TransportClusterUpdateSettingsAction transport,
                                   ESClusterUpdateSettingsNode node) {
    super(jobId);
    this.transport = transport;

    final SettableFuture<TaskResult> result = SettableFuture.create();
    results = Collections.<ListenableFuture<TaskResult>>singletonList(result);

    request = new ClusterUpdateSettingsRequest();
    request.persistentSettings(node.persistentSettings());
    request.transientSettings(node.transientSettings());
    if (node.persistentSettingsToRemove() != null) {
        request.persistentSettingsToRemove(node.persistentSettingsToRemove());
    }
    if (node.transientSettingsToRemove() != null) {
        request.transientSettingsToRemove(node.transientSettingsToRemove());
    }
    listener = ActionListeners.wrap(result, Functions.constant(TaskResult.ONE_ROW));
}
 
開發者ID:baidu,項目名稱:Elasticsearch,代碼行數:21,代碼來源:ESClusterUpdateSettingsTask.java

示例10: propertyDescription

import com.google.common.base.Functions; //導入依賴的package包/類
private static String propertyDescription(ModelSchemaExtractionContext<?> parentContext, ModelProperty<?> property) {
    if (property.getDeclaredBy().size() == 1 && property.getDeclaredBy().contains(parentContext.getType())) {
        return String.format("property '%s'", property.getName());
    } else {
        ImmutableSortedSet<String> declaredBy = ImmutableSortedSet.copyOf(Iterables.transform(property.getDeclaredBy(), Functions.toStringFunction()));
        return String.format("property '%s' declared by %s", property.getName(), Joiner.on(", ").join(declaredBy));
    }
}
 
開發者ID:lxxlxx888,項目名稱:Reer,代碼行數:9,代碼來源:StructSchemaExtractionStrategySupport.java

示例11: testToMapWithNullValues

import com.google.common.base.Functions; //導入依賴的package包/類
public void testToMapWithNullValues() {
  Iterable<String> strings = ImmutableList.of("one", "two", "three");
  try {
    Maps.toMap(strings, Functions.constant(null));
    fail();
  } catch (NullPointerException expected) {
  }
}
 
開發者ID:paul-hammant,項目名稱:googles-monorepo-demo,代碼行數:9,代碼來源:MapsTest.java

示例12: testToMap

import com.google.common.base.Functions; //導入依賴的package包/類
public void testToMap() {
  assertThat(fluent(1, 2, 3).toMap(Functions.toStringFunction()).entrySet())
      .containsExactly(
          Maps.immutableEntry(1, "1"),
          Maps.immutableEntry(2, "2"),
          Maps.immutableEntry(3, "3")).inOrder();
}
 
開發者ID:paul-hammant,項目名稱:googles-monorepo-demo,代碼行數:8,代碼來源:FluentIterableTest.java

示例13: getSystemOutputFilter

import com.google.common.base.Functions; //導入依賴的package包/類
private static Function<DocumentSystemOutput, DocumentSystemOutput> getSystemOutputFilter(
    Parameters params) {
  final Function<DocumentSystemOutput, DocumentSystemOutput> filter;
  if (params.getBoolean("importOnlyBestAnswers")) {
    filter = KeepBestJustificationOnly.asFunctionOnSystemOutput();
    log.info("Importing only responses the scorer would select");
  } else {
    filter = Functions.identity();
    log.info("Importing all responses");
  }
  return filter;
}
 
開發者ID:isi-nlp,項目名稱:tac-kbp-eal,代碼行數:13,代碼來源:ImportSystemOutputToAnnotationStore.java

示例14: returnProperBeanParamWithDefaultParameterExtension

import com.google.common.base.Functions; //導入依賴的package包/類
@Test
public void returnProperBeanParamWithDefaultParameterExtension() throws NoSuchMethodException {
    final Method method = getClass().getDeclaredMethod("testRoute", BaseBean.class, ChildBean.class, RefBean.class, EnumBean.class, Integer.class);
    final List<Pair<Type, Annotation[]>> parameters = getParameters(method.getGenericParameterTypes(), method.getParameterAnnotations());

    for (final Pair<Type, Annotation[]> parameter : parameters) {
        final Type parameterType = parameter.first();
        final List<Parameter> swaggerParams = new DefaultParameterExtension().extractParameters(Arrays.asList(parameter.second()),
                parameterType, new HashSet<Type>(), SwaggerExtensions.chain());
        // Ensure proper number of parameters returned
        if (parameterType.equals(BaseBean.class)) {
            assertEquals(2, swaggerParams.size());
        } else if (parameterType.equals(ChildBean.class)) {
            assertEquals(5, swaggerParams.size());
        } else if (parameterType.equals(RefBean.class)) {
            assertEquals(5, swaggerParams.size());
        } else if (parameterType.equals(EnumBean.class)) {
            assertEquals(1, swaggerParams.size());
            final HeaderParameter enumParam = (HeaderParameter) swaggerParams.get(0);
            assertEquals("string", enumParam.getType());
            final List<String> enumValues = new ArrayList<>(Collections2.transform(Arrays.asList(TestEnum.values()), Functions.toStringFunction()));
            assertEquals(enumValues, enumParam.getEnum());
        } else if (parameterType.equals(Integer.class)) {
            assertEquals(0, swaggerParams.size());
        } else {
            fail(String.format("Parameter of type %s was not expected", parameterType));
        }

        // Ensure the proper parameter type and name is returned (The rest is handled by pre-existing logic)
        for (final Parameter param : swaggerParams) {
            assertEquals(param.getClass().getSimpleName().replace("eter", ""), param.getName());
        }
    }
}
 
開發者ID:minijax,項目名稱:minijax,代碼行數:35,代碼來源:MinijaxSwaggerTest.java

示例15: copyFallingBackTo

import com.google.common.base.Functions; //導入依賴的package包/類
/**
 * Takes this AnswerKey as ground truth, and takes unannotated or assessed Responses in fallback
 * and adds them to the AnswerKey.
 *
 * If the CAS for an AssessedResponse is known, prefer that CAS to the CAS in fallback.
 *
 * Does not handle the case where the fallback AnswerKey has an Assessment that this AnswerKey
 * does not.
 */
public AnswerKey copyFallingBackTo(AnswerKey fallback) {
  final Builder ret = modifiedCopyBuilder();

  final ImmutableMap<String, Response> unannotatedHere = Maps.uniqueIndex(unannotatedResponses(),
      ResponseFunctions.uniqueIdentifier());
  final ImmutableMap<String, AssessedResponse> idToAssessedHere =
      Maps.uniqueIndex(annotatedResponses(),
          Functions.compose(ResponseFunctions.uniqueIdentifier(),
              AssessedResponseFunctions.response()));
  final Set<String> idsHere = Sets.union(unannotatedHere.keySet(), idToAssessedHere.keySet());

  final ImmutableMap<String, Response> unannotatedThere = Maps.uniqueIndex(
      fallback.unannotatedResponses(), ResponseFunctions.uniqueIdentifier());
  final ImmutableMap<String, AssessedResponse> idToAssessedThere =
      Maps.uniqueIndex(fallback.annotatedResponses(),
          Functions.compose(ResponseFunctions.uniqueIdentifier(),
              AssessedResponseFunctions.response()));
  final Set<String> idsThere = Sets.union(unannotatedThere.keySet(), idToAssessedThere.keySet());

  final Set<String> idsOnlyInFallback = Sets.difference(idsThere, idsHere);
  for (final String id : idsOnlyInFallback) {
    if (unannotatedThere.containsKey(id)) {
      ret.addUnannotated(unannotatedThere.get(id));
    }
    if (idToAssessedThere.containsKey(id)) {
      final AssessedResponse r = idToAssessedThere.get(id);
      final int CASGroup;
      if (corefAnnotation().CASesToIDs().containsKey(r.response().canonicalArgument())) {
        CASGroup = corefAnnotation().CASesToIDs().get(r.response().canonicalArgument());
      } else {
        CASGroup = fallback.corefAnnotation().CASesToIDs().get(r.response().canonicalArgument());
      }
      ret.addAnnotated(r, CASGroup);
    }
  }
  return ret.build();
}
 
開發者ID:isi-nlp,項目名稱:tac-kbp-eal,代碼行數:47,代碼來源:AnswerKey.java


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