com.google.common.collect.MapDifference.ValueDifference#com.google.common.base.Equivalence源码实例Demo

下面列出了com.google.common.collect.MapDifference.ValueDifference#com.google.common.base.Equivalence 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: codebuff   文件: Maps.java
private static <K, V> void doDifference(
    Map<? extends K, ? extends V> left,
    Map<? extends K, ? extends V> right,
    Equivalence<? super V> valueEquivalence,
    Map<K, V> onlyOnLeft,
    Map<K, V> onlyOnRight,
    Map<K, V> onBoth,
    Map<K, MapDifference.ValueDifference<V>> differences) {
  for (Entry<? extends K, ? extends V> entry : left.entrySet()) {
    K leftKey = entry.getKey();
    V leftValue = entry.getValue();
    if (right.containsKey(leftKey)) {
      V rightValue = onlyOnRight.remove(leftKey);
      if (valueEquivalence.equivalent(leftValue, rightValue)) {
        onBoth.put(leftKey, leftValue);
      } else {
        differences.put(leftKey, ValueDifferenceImpl.create(leftValue, rightValue));
      }
    } else {
      onlyOnLeft.put(leftKey, leftValue);
    }
  }
}
 
源代码2 项目: codebuff   文件: Maps.java
private static <K, V> void doDifference(Map<? extends K, ? extends V> left, Map<? extends K, ? extends V> right, Equivalence<? super V> valueEquivalence, Map<K, V> onlyOnLeft, Map<K, V> onlyOnRight, Map<K, V> onBoth, Map<K, MapDifference.ValueDifference<V>> differences) {
  for (Entry<? extends K, ? extends V> entry : left.entrySet()) {
    K leftKey = entry.getKey();
    V leftValue = entry.getValue();
    if (right.containsKey(leftKey)) {
      V rightValue = onlyOnRight.remove(leftKey);
      if (valueEquivalence.equivalent(leftValue, rightValue)) {
        onBoth.put(leftKey, leftValue);
      } else {
        differences.put(leftKey, ValueDifferenceImpl.create(leftValue, rightValue));
      }
    } else {
      onlyOnLeft.put(leftKey, leftValue);
    }
  }
}
 
源代码3 项目: grakn   文件: QueryCollectionBase.java
private Set<ReasonerQueryImpl> getAllNeighbours(ReasonerQueryImpl entryQuery) {
    Set<ReasonerQueryImpl> neighbours = new HashSet<>();
    Set<Equivalence.Wrapper<ReasonerQueryImpl>> visitedQueries = new HashSet<>();
    Stack<Equivalence.Wrapper<ReasonerQueryImpl>> queryStack = new Stack<>();

    Multimap<ReasonerQueryImpl, ReasonerQueryImpl> neighbourMap = immediateNeighbourMap();

    neighbourMap.get(entryQuery).stream().map(q -> equality().wrap(q)).forEach(queryStack::push);
    while (!queryStack.isEmpty()) {
        Equivalence.Wrapper<ReasonerQueryImpl> wrappedQuery = queryStack.pop();
        ReasonerQueryImpl query = wrappedQuery.get();
        if (!visitedQueries.contains(wrappedQuery) && query != null) {
            neighbourMap.get(query).stream()
                    .peek(neighbours::add)
                    .flatMap(q -> neighbourMap.get(q).stream())
                    .map(q -> equality().wrap(q))
                    .filter(q -> !visitedQueries.contains(q))
                    .filter(q -> !queryStack.contains(q))
                    .forEach(queryStack::add);
            visitedQueries.add(wrappedQuery);
        }
    }
    return neighbours;
}
 
源代码4 项目: codebuff   文件: LocalCache.java
private ManualSerializationProxy(
    Strength keyStrength,
    Strength valueStrength,
    Equivalence<Object> keyEquivalence,
    Equivalence<Object> valueEquivalence,
    long expireAfterWriteNanos,
    long expireAfterAccessNanos,
    long maxWeight,
    Weigher<K, V> weigher,
    int concurrencyLevel,
    RemovalListener<? super K, ? super V> removalListener,
    Ticker ticker,
    CacheLoader<? super K, V> loader) {
  this.keyStrength = keyStrength;
  this.valueStrength = valueStrength;
  this.keyEquivalence = keyEquivalence;
  this.valueEquivalence = valueEquivalence;
  this.expireAfterWriteNanos = expireAfterWriteNanos;
  this.expireAfterAccessNanos = expireAfterAccessNanos;
  this.maxWeight = maxWeight;
  this.weigher = weigher;
  this.concurrencyLevel = concurrencyLevel;
  this.removalListener = removalListener;
  this.ticker = (ticker == Ticker.systemTicker() || ticker == NULL_TICKER) ? null : ticker;
  this.loader = loader;
}
 
源代码5 项目: codebuff   文件: Maps.java
private static <K, V> void doDifference(Map<? extends K, ? extends V> left, Map<? extends K, ? extends V> right, Equivalence<? super V> valueEquivalence, Map<K, V> onlyOnLeft, Map<K, V> onlyOnRight, Map<K, V> onBoth, Map<K, MapDifference.ValueDifference<V>> differences) {
  for (Entry<? extends K, ? extends V> entry : left.entrySet()) {
    K leftKey = entry.getKey();
    V leftValue = entry.getValue();
    if (right.containsKey(leftKey)) {
      V rightValue = onlyOnRight.remove(leftKey);
      if (valueEquivalence.equivalent(leftValue, rightValue)) {
        onBoth.put(leftKey, leftValue);
      } else {
        differences.put(leftKey, ValueDifferenceImpl.create(leftValue, rightValue));
      }
    } else {
      onlyOnLeft.put(leftKey, leftValue);
    }
  }
}
 
源代码6 项目: codebuff   文件: ComputingConcurrentHashMap.java
ComputingSerializationProxy(
    Strength keyStrength,
    Strength valueStrength,
    Equivalence<Object> keyEquivalence,
    Equivalence<Object> valueEquivalence,
    int concurrencyLevel,
    ConcurrentMap<K, V> delegate,
    Function<? super K, ? extends V> computingFunction) {
  super(
      keyStrength,
      valueStrength,
      keyEquivalence,
      valueEquivalence,
      concurrencyLevel,
      delegate);
  this.computingFunction = computingFunction;
}
 
源代码7 项目: qconfig   文件: PermissionServiceImpl.java
private List<String> setPermissionList(List<Permission> newer, List<Permission> older) {
    Timestamp now = new Timestamp(System.currentTimeMillis());
    List<String> remarks = Lists.newArrayList();
    List<Permission> changes = Lists.newArrayList();

    Map<String, Permission> infoMap = mapByRtxId(newer);
    Map<String, Permission> originInfoMap = mapByRtxId(older);

    MapDifference<String, Permission> difference = Maps.difference(infoMap, originInfoMap, new Equivalence<Permission>() {
        @Override
        protected boolean doEquivalent(Permission a, Permission b) {
            return a.getPermission() == b.getPermission() && a.getRtxId().equals(b.getRtxId());
        }

        @Override
        protected int doHash(Permission permissionInfo) {
            return Objects.hashCode(permissionInfo.getRtxId(), permissionInfo.getPermission());
        }
    });

    dealOnlyOnLeft(changes, remarks, infoMap, difference, now);
    dealDifference(changes, remarks, infoMap, originInfoMap, difference, now);

    if (!changes.isEmpty() && changes.get(0).processChange(permissionDao, changes)) {
        logger.info("change permissions successOf, {}", changes);
    }

    return remarks;
}
 
源代码8 项目: codebuff   文件: MapMakerInternalMap.java
SerializationProxy(
    Strength keyStrength,
    Strength valueStrength,
    Equivalence<Object> keyEquivalence,
    Equivalence<Object> valueEquivalence,
    int concurrencyLevel,
    ConcurrentMap<K, V> delegate) {
  super(
      keyStrength,
      valueStrength,
      keyEquivalence,
      valueEquivalence,
      concurrencyLevel,
      delegate);
}
 
源代码9 项目: paperparcel   文件: FieldDescriptor.java
FieldDescriptor create(TypeElement owner, VariableElement element) {
  String name = element.getSimpleName().toString();
  TypeMirror type = types.asMemberOf((DeclaredType) owner.asType(), element);
  TypeMirror fieldType = Utils.replaceTypeVariablesWithUpperBounds(types, type);
  Equivalence.Wrapper<TypeMirror> wrappedType = MoreTypes.equivalence().wrap(fieldType);
  boolean isVisible = Visibility.ofElement(element) != Visibility.PRIVATE;
  boolean isNullable =
      Utils.getAnnotationWithSimpleName(element, NON_NULL_ANNOTATION_NAME) == null
      && Utils.getAnnotationWithSimpleName(element, NOT_NULL_ANNOTATION_NAME) == null;
  return new AutoValue_FieldDescriptor(element, name, wrappedType, isVisible, isNullable);
}
 
源代码10 项目: exonum-java-binding   文件: EqualsTester.java
/** Run tests on equals method, throwing a failure on an invalid test. */
public EqualsTester testEquals() {
  RelationshipTester<Object> delegate =
      new RelationshipTester<>(
          Equivalence.equals(), "Object#equals", "Object#hashCode", itemReporter);
  for (List<Object> group : equalityGroups) {
    delegate.addRelatedGroup(group);
  }
  for (int run = 0; run < REPETITIONS; run++) {
    testItems();
    delegate.test();
  }
  return this;
}
 
源代码11 项目: jpmml-evaluator   文件: TestingExample.java
static
private Batch createBatch(Evaluator evaluator, List<? extends Map<FieldName, ?>> input, List<? extends Map<FieldName, ?>> output, Predicate<ResultField> predicate, Equivalence<Object> equivalence){
	Batch batch = new Batch(){

		@Override
		public Evaluator getEvaluator(){
			return evaluator;
		}

		@Override
		public List<? extends Map<FieldName, ?>> getInput(){
			return input;
		}

		@Override
		public List<? extends Map<FieldName, ?>> getOutput(){
			return output;
		}

		@Override
		public Predicate<ResultField> getPredicate(){
			return predicate;
		}

		@Override
		public Equivalence<Object> getEquivalence(){
			return equivalence;
		}

		@Override
		public void close(){
		}
	};

	return batch;
}
 
源代码12 项目: auto   文件: SerializableAutoValueExtension.java
ProxyGenerator(
    TypeName outerClassTypeName,
    ImmutableList<TypeVariableName> typeVariableNames,
    ImmutableList<PropertyMirror> propertyMirrors,
    ImmutableMap<Equivalence.Wrapper<TypeMirror>, Serializer> serializersMap) {
  this.outerClassTypeName = outerClassTypeName;
  this.typeVariableNames = typeVariableNames;
  this.propertyMirrors = propertyMirrors;
  this.serializersMap = serializersMap;
}
 
源代码13 项目: dagger2-sample   文件: MethodSignature.java
static MethodSignature fromExecutableType(String methodName, ExecutableType methodType) {
  checkNotNull(methodType);
  ImmutableList.Builder<Equivalence.Wrapper<TypeMirror>> parameters = ImmutableList.builder();
  ImmutableList.Builder<Equivalence.Wrapper<TypeMirror>> thrownTypes = ImmutableList.builder();
  for (TypeMirror parameter : methodType.getParameterTypes()) {
    parameters.add(MoreTypes.equivalence().wrap(parameter));
  }
  for (TypeMirror thrownType : methodType.getThrownTypes()) {
    thrownTypes.add(MoreTypes.equivalence().wrap(thrownType));
  }
  return new AutoValue_MethodSignature(
      methodName,
      parameters.build(),
      thrownTypes.build());
}
 
源代码14 项目: grakn   文件: ReasonerUtils.java
/**
 * @param a first operand
 * @param b second operand
 * @param equiv equivalence on the basis of which the collections shall be compared
 * @param <B> collection base type
 * @param <S> collection super type
 * @return true iff the given Collections contain equivalent elements with exactly the same cardinalities.
 */
public static <B, S extends B> boolean isEquivalentCollection(Collection<S> a, Collection<S> b,  Equivalence<B> equiv) {
    if (a.size() != b.size()) {
        return false;
    } else {
        Map<Equivalence.Wrapper<B>, Integer> mapA = getCardinalityMap(a, equiv);
        Map<Equivalence.Wrapper<B>, Integer> mapB = getCardinalityMap(b, equiv);
        if (mapA.size() != mapB.size()) {
            return false;
        } else {
            return mapA.keySet().stream().allMatch(k -> mapA.get(k).equals(mapB.get(k)));
        }
    }
}
 
源代码15 项目: auto   文件: Mirrors.java
/**
 * Wraps an {@link Optional} of a type in an {@code Optional} of a {@link Equivalence.Wrapper} for
 * that type.
 */
// TODO(ronshapiro): this is used in AutoFactory and Dagger, consider moving it into auto-common.
static <T> Optional<Equivalence.Wrapper<T>> wrapOptionalInEquivalence(
    Equivalence<T> equivalence, Optional<T> optional) {
  return optional.isPresent()
      ? Optional.of(equivalence.wrap(optional.get()))
      : Optional.<Equivalence.Wrapper<T>>absent();
}
 
源代码16 项目: grakn   文件: VariablePredicate.java
private boolean predicateBindingsEquivalent(VariablePredicate that, Equivalence<Atomic> equiv){
    IdPredicate thisPredicate = this.getIdPredicate(this.getVarName());
    IdPredicate thatPredicate = that.getIdPredicate(that.getVarName());
    IdPredicate thisRefPredicate = this.getIdPredicate(this.getPredicate());
    IdPredicate thatRefPredicate = that.getIdPredicate(that.getPredicate());
    return (
            (thisPredicate == null) ?
            thisPredicate == thatPredicate :
            equiv.equivalent(thisPredicate, thatPredicate)
    ) && (
            (thisRefPredicate == null) ?
            (thisRefPredicate == thatRefPredicate) :
            equiv.equivalent(thisRefPredicate, thatRefPredicate)
    );
}
 
源代码17 项目: grakn   文件: AttributeAtom.java
private boolean isBaseEquivalent(Object obj, Equivalence<Atomic> equivalence){
    if (obj == null || this.getClass() != obj.getClass()) return false;
    if (obj == this) return true;
    AttributeAtom that = (AttributeAtom) obj;
    return equivalence.equivalent(this.attributeIsa(), that.attributeIsa())
            && equivalence.equivalent(this.ownerIsa(), that.ownerIsa());
}
 
源代码18 项目: hadoop-connectors   文件: GoogleCloudStorageTest.java
static <K, V> void assertMapsEqual(
    Map<K, V> expected, Map<K, V> result, Equivalence<V> valueEquivalence) {
  MapDifference<K, V> diff = Maps.difference(expected, result, valueEquivalence);
  if (!diff.areEqual()) {
    fail(
        String.format(
            "Maps differ. Entries differing: %s%nMissing entries: %s%nExtra entries: %s%n",
            diff.entriesDiffering(), diff.entriesOnlyOnLeft(), diff.entriesOnlyOnRight()));
  }
}
 
static
private void checkEquivalence(boolean result, double expectedValue, double actualValue, int tolerance){
	Equivalence<Object> equivalence = new RealNumberEquivalence(tolerance);

	assertEquals(result, equivalence.equivalent(expectedValue, actualValue));
	assertEquals(result, equivalence.equivalent(Double.toString(expectedValue), actualValue));
}
 
源代码20 项目: dagger2-sample   文件: BindingGraph.java
private Optional<RequestResolver> getOwningResolver(ProvisionBinding provisionBinding) {
  Optional<Equivalence.Wrapper<AnnotationMirror>> bindingScope =
      provisionBinding.wrappedScope();
  for (RequestResolver requestResolver : getResolverLineage()) {
    if (bindingScope.equals(requestResolver.targetScope)
        || requestResolver.explicitProvisionBindings.containsValue(provisionBinding)) {
      return Optional.of(requestResolver);
    }
  }
  return Optional.absent();
}
 
源代码21 项目: auto   文件: TypeVariables.java
/**
 * Tests whether a given parameter can be given to a static method like
 * {@code ImmutableMap.copyOf} to produce a value that can be assigned to the given target type.
 *
 * <p>For example, suppose we have this method in {@code ImmutableMap}:<br>
 * {@code static <K, V> ImmutableMap<K, V> copyOf(Map<? extends K, ? extends V>)}<br>
 * and we want to know if we can do this:
 *
 * <pre>
 * {@code ImmutableMap<String, Integer> actualParameter = ...;}
 * {@code ImmutableMap<String, Number> target = ImmutableMap.copyOf(actualParameter);}
 * </pre>
 *
 * We will infer {@code K=String}, {@code V=Number} based on the target type, and then rewrite the
 * formal parameter type from<br>
 * {@code Map<? extends K, ? extends V>} to<br>
 * {@code Map<? extends String, ? extends Number>}. Then we can check whether
 * {@code actualParameter} is assignable to that.
 *
 * <p>The logic makes some simplifying assumptions, which are met for the {@code copyOf} and
 * {@code of} methods that we use this for. The method must be static, it must have exactly one
 * parameter, and it must have type parameters without bounds that are the same as the type
 * parameters of its return type. We can see that these assumptions are met for the
 * {@code ImmutableMap.copyOf} example above.
 */
static boolean canAssignStaticMethodResult(
    ExecutableElement method,
    TypeMirror actualParameterType,
    TypeMirror targetType,
    Types typeUtils) {
  if (!targetType.getKind().equals(TypeKind.DECLARED)
      || !method.getModifiers().contains(Modifier.STATIC)
      || method.getParameters().size() != 1) {
    return false;
  }
  List<? extends TypeParameterElement> typeParameters = method.getTypeParameters();
  List<? extends TypeMirror> targetTypeArguments =
      MoreTypes.asDeclared(targetType).getTypeArguments();
  if (typeParameters.size() != targetTypeArguments.size()) {
    return false;
  }
  Map<Equivalence.Wrapper<TypeVariable>, TypeMirror> typeVariables = new LinkedHashMap<>();
  for (int i = 0; i < typeParameters.size(); i++) {
    TypeVariable v = MoreTypes.asTypeVariable(typeParameters.get(i).asType());
    typeVariables.put(MoreTypes.equivalence().wrap(v), targetTypeArguments.get(i));
  }
  TypeMirror formalParameterType = method.getParameters().get(0).asType();
  SubstitutionVisitor substitutionVisitor = new SubstitutionVisitor(typeVariables, typeUtils);
  TypeMirror substitutedParameterType = substitutionVisitor.visit(formalParameterType, null);
  if (substitutedParameterType.getKind().equals(TypeKind.WILDCARD)) {
    // If the target type is Optional<? extends Foo> then <T> T Optional.of(T) will give us
    // ? extends Foo here, and typeUtils.isAssignable will return false. But we can in fact
    // give a Foo as an argument, so we just replace ? extends Foo with Foo.
    WildcardType wildcard = MoreTypes.asWildcard(substitutedParameterType);
    if (wildcard.getExtendsBound() != null) {
      substitutedParameterType = wildcard.getExtendsBound();
    }
  }
  return typeUtils.isAssignable(actualParameterType, substitutedParameterType);
}
 
源代码22 项目: grakn   文件: QueryCollectionBase.java
/**
 * @param entryQuery query for which candidates are to be determined
 * @param plan current plan
 * @return set of candidate queries for this query
 */
QuerySet getCandidates(ReasonerQueryImpl entryQuery, QueryList plan){
    Equivalence.Wrapper<ReasonerQueryImpl> query = equality().wrap(entryQuery);
    Set<Equivalence.Wrapper<ReasonerQueryImpl>> availableQueries = this.wrappedStream()
            .filter(q -> !(plan.contains(q) || q.equals(query)))
            .collect(Collectors.toSet());

    Set<Equivalence.Wrapper<ReasonerQueryImpl>> availableImmediateNeighbours = this.getImmediateNeighbours(query).stream()
            .filter(availableQueries::contains)
            .collect(Collectors.toSet());

    Set<Variable> subbedVars = plan.stream()
            .flatMap(q -> q.getVarNames().stream())
            .collect(Collectors.toSet());

    Set<Equivalence.Wrapper<ReasonerQueryImpl>> availableImmediateNeighboursFromSubs = availableQueries.stream()
            .map(Equivalence.Wrapper::get)
            .filter(Objects::nonNull)
            .filter(q -> !Sets.intersection(q.getVarNames(), subbedVars).isEmpty())
            .map(q -> equality().wrap(q))
            .collect(Collectors.toSet());

    return QuerySet.create(
            this.isQueryDisconnected(query)?
                    availableQueries :
                    this.isQueryReachable(query, availableQueries)?
                            Sets.union(availableImmediateNeighbours, availableImmediateNeighboursFromSubs): availableQueries
    );
}
 
源代码23 项目: jrestless   文件: RelationshipTester.java
RelationshipTester(Equivalence<? super T> equivalence, String relationshipName, String hashName,
		ItemReporter itemReporter) {
	this.equivalence = checkNotNull(equivalence);
	this.relationshipName = checkNotNull(relationshipName);
	this.hashName = checkNotNull(hashName);
	this.itemReporter = checkNotNull(itemReporter);
}
 
private Equivalence<BrowseNode<Integer>> getIdentity(final Repository repository) {
  Optional<BrowseNodeFacet> browseNodeFacet = repository.optionalFacet(BrowseNodeFacet.class);
  if (browseNodeFacet.isPresent()) {
    return Equivalence.equals().onResultOf(input -> browseNodeFacet.get().browseNodeIdentity().apply(input));
  }
  else {
    return Equivalence.equals().onResultOf(BrowseNode::getName);
  }
}
 
源代码25 项目: codebuff   文件: MapMakerInternalMap.java
AbstractSerializationProxy(
    Strength keyStrength,
    Strength valueStrength,
    Equivalence<Object> keyEquivalence,
    Equivalence<Object> valueEquivalence,
    int concurrencyLevel,
    ConcurrentMap<K, V> delegate) {
  this.keyStrength = keyStrength;
  this.valueStrength = valueStrength;
  this.keyEquivalence = keyEquivalence;
  this.valueEquivalence = valueEquivalence;
  this.concurrencyLevel = concurrencyLevel;
  this.delegate = delegate;
}
 
源代码26 项目: codebuff   文件: MapMaker.java
/**
 * Sets a custom {@code Equivalence} strategy for comparing keys.
 *
 * <p>By default, the map uses {@link Equivalence#identity} to determine key equality when
 * {@link #weakKeys} is specified, and {@link Equivalence#equals()} otherwise. The only place this
 * is used is in {@link Interners.WeakInterner}.
 */

@CanIgnoreReturnValue
@GwtIncompatible // To be supported
MapMaker keyEquivalence(Equivalence<Object> equivalence) {
  checkState(keyEquivalence == null, "key equivalence was already set to %s", keyEquivalence);
  keyEquivalence = checkNotNull(equivalence);
  this.useCustomMap = true;
  return this;
}
 
源代码27 项目: dagger2-sample   文件: ProvisionBinding.java
ProvisionBinding forComponent(TypeElement componentDefinitionType) {
  checkNotNull(componentDefinitionType);
  return new AutoValue_ProvisionBinding(
      keyFactory.forComponent(componentDefinitionType.asType()),
      componentDefinitionType,
      ImmutableSet.<DependencyRequest>of(),
      Optional.<String>absent(),
      false /* no non-default parameter types */,
      Optional.<DeclaredType>absent(),
      Optional.<TypeElement>absent(),
      Kind.COMPONENT,
      Provides.Type.UNIQUE,
      Optional.<Equivalence.Wrapper<AnnotationMirror>>absent(),
      Optional.<DependencyRequest>absent());
}
 
源代码28 项目: dagger2-sample   文件: KeyTest.java
@Test public void forInjectConstructorWithResolvedType() {
  TypeElement typeElement =
      compilationRule.getElements().getTypeElement(InjectedClass.class.getCanonicalName());
  ExecutableElement constructor =
      Iterables.getOnlyElement(ElementFilter.constructorsIn(typeElement.getEnclosedElements()));
  assertThat(
      keyFactory.forInjectConstructorWithResolvedType(constructor.getEnclosingElement().asType()))
      .isEqualTo(new AutoValue_Key(
          Optional.<Equivalence.Wrapper<AnnotationMirror>>absent(),
          MoreTypes.equivalence().wrap(typeElement.asType())));
}
 
源代码29 项目: jpmml-r   文件: ConverterTest.java
@Override
protected ArchiveBatch createBatch(String name, String dataset, Predicate<ResultField> predicate, Equivalence<Object> equivalence){
	ArchiveBatch result = new ConverterTestBatch(name, dataset, predicate, equivalence){

		@Override
		public IntegrationTest getIntegrationTest(){
			return ConverterTest.this;
		}

		@Override
		public PMML getPMML() throws Exception {

			try(InputStream is = open("/rds/" + getName() + getDataset() + ".rds")){
				RExpParser parser = new RExpParser(is);

				RExp rexp = parser.parse();

				Converter<RExp> converter = createConverter(rexp);

				PMML pmml = converter.encodePMML();

				validatePMML(pmml);

				return pmml;
			}
		}
	};

	return result;
}
 
源代码30 项目: dagger2-sample   文件: KeyTest.java
@Test public void forProducesMethod_sets() {
  TypeElement setElement = elements.getTypeElement(Set.class.getCanonicalName());
  TypeMirror stringType = elements.getTypeElement(String.class.getCanonicalName()).asType();
  TypeMirror setOfStringsType = types.getDeclaredType(setElement, stringType);
  TypeElement moduleElement =
      elements.getTypeElement(SetProducesMethodsModule.class.getCanonicalName());
  for (ExecutableElement producesMethod
      : ElementFilter.methodsIn(moduleElement.getEnclosedElements())) {
    assertThat(keyFactory.forProducesMethod(
        (ExecutableType) producesMethod.asType(), producesMethod))
        .isEqualTo(new AutoValue_Key(
                Optional.<Equivalence.Wrapper<AnnotationMirror>>absent(),
                MoreTypes.equivalence().wrap(setOfStringsType)));
  }
}