com.google.common.collect.ImmutableMultimap.Builder的实例源码

项目:guava-mock    文件:ImmutableMultimapTest.java   
public void testBuilder_withMutableEntry() {
  ImmutableMultimap.Builder<String,Integer> builder =
      new Builder<String,Integer>();
  final StringHolder holder = new StringHolder();
  holder.string = "one";
  Entry<String,Integer> entry = new AbstractMapEntry<String,Integer>() {
    @Override public String getKey() {
      return holder.string;
    }
    @Override public Integer getValue() {
      return 1;
    }
  };

  builder.put(entry);
  holder.string = "two";
  assertEquals(Arrays.asList(1),builder.build().get("one"));
}
项目:googles-monorepo-demo    文件:ImmutableMultimapTest.java   
public void testBuilder_withMutableEntry() {
  ImmutableMultimap.Builder<String,builder.build().get("one"));
}
项目:de.flapdoodle.solid    文件:Blobs.java   
public static ImmutableMultimap<String,Object> pathPropertiesOfAsMultimap(Blob blob,Function<String,Collection<String>> pathPropertyMapping,Path path,PropertyCollectionResolver propertyResolver) {
    ImmutableList<String> pathProperties = path.propertyNamesWithoutPage();

    ImmutableMap<String,ImmutableSet<?>> blopPathPropertyMap = pathProperties.stream()
        .map(p -> Pair.<String,ImmutableSet<?>>of(p,propertyOf(blob,pathPropertyMapping,propertyResolver,p)))
        .filter(pair -> !pair.b().isEmpty())
        .collect(ImmutableMap.toImmutableMap(Pair::a,Pair::b));

    if (blopPathPropertyMap.keySet().size()<pathProperties.size()) {
        return ImmutableMultimap.of();
    }

    Builder<String,Object> multiMapBuilder = ImmutableMultimap.builder();

    blopPathPropertyMap.forEach((key,values) -> {
        multiMapBuilder.putAll(key,values);
    });

    return multiMapBuilder.build();
}
项目:hashsdn-controller    文件:DOMNotificationRouter.java   
@Override
public synchronized <T extends DOMNotificationListener> ListenerRegistration<T> registerNotificationListener(final T listener,final Collection<SchemaPath> types) {
    final ListenerRegistration<T> reg = new AbstractListenerRegistration<T>(listener) {
        @Override
        protected void removeRegistration() {
            final ListenerRegistration<T> me = this;

            synchronized (DOMNotificationRouter.this) {
                replaceListeners(ImmutableMultimap.copyOf(Multimaps.filterValues(listeners,input -> input != me)));
            }
        }
    };

    if (!types.isEmpty()) {
        final Builder<SchemaPath,ListenerRegistration<? extends DOMNotificationListener>> b = ImmutableMultimap.builder();
        b.putAll(listeners);

        for (final SchemaPath t : types) {
            b.put(t,reg);
        }

        replaceListeners(b.build());
    }

    return reg;
}
项目:guava-libraries    文件:ImmutableMultimapTest.java   
public void testBuilder_withMutableEntry() {
  ImmutableMultimap.Builder<String,builder.build().get("one"));
}
项目:error-prone    文件:WakelockReleasedDangerously.java   
/**
 * Finds all method invocations on the given symbol,and constructs a map of the called method's
 * name,to the {@link MethodInvocationTree} in which it was called.
 */
private ImmutableMultimap<String,MethodInvocationTree> methodCallsForSymbol(
    Symbol sym,ClassTree classTree) {
  Builder<String,MethodInvocationTree> methodMap = ImmutableMultimap.builder();
  // Populate map builder with names of method called : the tree in which it is called.
  classTree.accept(
      new TreeScanner<Void,Void>() {
        @Override
        public Void visitMethodInvocation(MethodInvocationTree callTree,Void unused) {
          if (sym.equals(getSymbol(getReceiver(callTree)))) {
            MethodSymbol methodSymbol = getSymbol(callTree);
            if (methodSymbol != null) {
              methodMap.put(methodSymbol.getSimpleName().toString(),callTree);
            }
          }
          return super.visitMethodInvocation(callTree,unused);
        }
      },null);
  return methodMap.build();
}
项目:guava    文件:ImmutableMultimapTest.java   
public void testBuilder_withMutableEntry() {
  ImmutableMultimap.Builder<String,Integer> builder = new Builder<>();
  final StringHolder holder = new StringHolder();
  holder.string = "one";
  Entry<String,Integer> entry =
      new AbstractMapEntry<String,Integer>() {
        @Override
        public String getKey() {
          return holder.string;
        }

        @Override
        public Integer getValue() {
          return 1;
        }
      };

  builder.put(entry);
  holder.string = "two";
  assertEquals(Arrays.asList(1),builder.build().get("one"));
}
项目:buck    文件:SmartDexingStep.java   
private void buildInternal(ImmutableList.Builder<Step> steps) {
  Preconditions.checkState(newInputsHash != null,"Must call checkIsCached first!");

  createDxStepForDxPseudoRule(
      target,androidPlatformTarget,steps,buildContext,filesystem,srcs,outputPath,dxOptions,xzCompressionLevel,dxMaxHeapSize,dexTool);
  steps.add(
      new WriteFileStep(filesystem,newInputsHash,outputHashPath,/* executable */ false));
}
项目:de.flapdoodle.solid    文件:Blobs.java   
public static ImmutableMultimap<ImmutableMap<String,Object>,Blob> orderByKey(ImmutableMultimap<ImmutableMap<String,Blob> src,ImmutableList<String> pathOrdering) {
    ImmutableMultimap.Builder<ImmutableMap<String,Blob> builder=ImmutableMultimap.builder();

    src.asMap().entrySet()
        .stream()
        .sorted(pathOrderingOf(pathOrdering))
        .forEach(e -> {
            builder.putAll(e.getKey(),e.getValue());
        });

    return builder.build();
}
项目:textokit-core    文件:BratRelation.java   
public BratRelation(BratRelationType type,BratEntity arg1,BratEntity arg2) {
    super(type,ImmutableMultimap.<String,BratEntity>of());
    if (!checkArgVal(arg1) || !checkArgVal(arg2)) {
        throw new IllegalArgumentException(String.format(
                "Relation %s arguments: %s,%s",type,arg1,arg2));
    }
    Builder<String,BratEntity> b = ImmutableMultimap.builder();
    b.put(type.getArg1Name(),arg1);
    b.put(type.getArg2Name(),arg2);
    setRoleAnnotations(b.build());
}
项目:metasfresh    文件:MaterialEventHandlerRegistry.java   
public MaterialEventHandlerRegistry(
        @NonNull final Optional<Collection<MaterialEventHandler>> handlers,@NonNull final EventLogUserService eventLogUserService)
{
    this.eventLogUserService = eventLogUserService;

    final Builder<Class,MaterialEventHandler> builder = createEventHandlerMapping(handlers);
    eventType2Handler = builder.build();
}
项目:metasfresh    文件:MaterialEventHandlerRegistry.java   
private Builder<Class,MaterialEventHandler> createEventHandlerMapping(
        @NonNull final Optional<Collection<MaterialEventHandler>> handlers)
{
    final Builder<Class,MaterialEventHandler> builder = ImmutableMultimap.builder();
    for (final MaterialEventHandler handler : handlers.orElse(ImmutableList.of()))
    {
        final Collection<Class<? extends MaterialEventHandler>> handeledEventType = //
                handler.getHandeledEventType();

        handeledEventType.forEach(type -> builder.put(type,handler));
    }
    return builder;
}
项目:bazel    文件:WorkerActionContextConsumer.java   
@Override
public Multimap<Class<? extends ActionContext>,String> getActionContexts() {
  Builder<Class<? extends ActionContext>,String> contexts = ImmutableMultimap.builder();
  contexts.put(SpawnActionContext.class,"standalone");
  contexts.put(SpawnActionContext.class,"worker");
  return contexts.build();
}
项目:HiveRunner    文件:TableDataBuilder.java   
private Map<String,String> createPartitionSpec() {
  ImmutableMap.Builder<String,String> builder = ImmutableMap.builder();
  for (HCatFieldSchema partitionColumn : partitionColumns) {
    String name = partitionColumn.getName();
    Object value = get(name);
    checkState(value != null,"Value for partition column %s must not be null.",name);
    builder.put(name,value.toString());
  }
  return builder.build();
}
项目:buck    文件:SmartDexingStep.java   
/**
 * @param primaryOutputPath Path for the primary dex artifact.
 * @param primaryInputsToDex Set of paths to include as inputs for the primary dex artifact.
 * @param secondaryOutputDir Directory path for the secondary dex artifacts,if there are any.
 *     Note that this directory will be pruned such that only those secondary outputs generated by
 *     this command will remain in the directory!
 * @param secondaryInputsToDex List of paths to input jar files,to use as dx input,keyed by the
 *     corresponding output dex file. Note that for each output file (key),a separate dx
 *     invocation will be started with the corresponding jar files (value) as the input.
 * @param successDir Directory where success artifacts are written.
 * @param executorService The thread pool to execute the dx command on.
 */
public SmartDexingStep(
    BuildTarget target,AndroidPlatformTarget androidPlatformTarget,BuildContext buildContext,ProjectFilesystem filesystem,final Path primaryOutputPath,final Supplier<Set<Path>> primaryInputsToDex,Optional<Path> secondaryOutputDir,final Optional<Supplier<Multimap<Path,Path>>> secondaryInputsToDex,DexInputHashesProvider dexInputHashesProvider,Path successDir,EnumSet<Option> dxOptions,ListeningExecutorService executorService,Optional<Integer> xzCompressionLevel,Optional<String> dxMaxHeapSize,String dexTool) {
  this.target = target;
  this.androidPlatformTarget = androidPlatformTarget;
  this.buildContext = buildContext;
  this.filesystem = filesystem;
  this.outputToInputsSupplier =
      MoreSuppliers.memoize(
          () -> {
            final Builder<Path,Path> map = ImmutableMultimap.builder();
            map.putAll(primaryOutputPath,primaryInputsToDex.get());
            if (secondaryInputsToDex.isPresent()) {
              map.putAll(secondaryInputsToDex.get().get());
            }
            return map.build();
          });
  this.secondaryOutputDir = secondaryOutputDir;
  this.dexInputHashesProvider = dexInputHashesProvider;
  this.successDir = successDir;
  this.dxOptions = dxOptions;
  this.executorService = executorService;
  this.xzCompressionLevel = xzCompressionLevel;
  this.dxMaxHeapSize = dxMaxHeapSize;
  this.dexTool = dexTool;
}
项目:buck    文件:SmartDexingStep.java   
/**
 * Once the {@code .class} files have been split into separate zip files,each must be converted
 * to a {@code .dex} file.
 */
private ImmutableList<ImmutableList<Step>> generateDxCommands(
    ProjectFilesystem filesystem,Multimap<Path,Path> outputToInputs) {
  ImmutableList.Builder<DxPseudoRule> pseudoRules = ImmutableList.builder();

  ImmutableMap<Path,Sha1HashCode> dexInputHashes = dexInputHashesProvider.getDexInputHashes();

  for (Path outputFile : outputToInputs.keySet()) {
    pseudoRules.add(
        new DxPseudoRule(
            target,dexInputHashes,ImmutableSet.copyOf(outputToInputs.get(outputFile)),outputFile,successDir.resolve(outputFile.getFileName()),dexTool));
  }

  ImmutableList.Builder<ImmutableList<Step>> stepGroups = new ImmutableList.Builder<>();
  for (DxPseudoRule pseudoRule : pseudoRules.build()) {
    if (!pseudoRule.checkIsCached()) {
      ImmutableList.Builder<Step> steps = ImmutableList.builder();
      pseudoRule.buildInternal(steps);
      stepGroups.add(steps.build());
    }
  }

  return stepGroups.build();
}
项目:guava-mock    文件:ImmutableMultimapTest.java   
public void testBuilder_withImmutableEntry() {
  ImmutableMultimap<String,Integer> multimap = new Builder<String,Integer>()
      .put(Maps.immutableEntry("one",1))
      .build();
  assertEquals(Arrays.asList(1),multimap.get("one"));
}
项目:Equella    文件:InstitutionServiceImpl.java   
private synchronized void setAllInstitutions(Map<Long,InstitutionStatus> map)
{
    allInstitutions = ImmutableMap.copyOf(map);

    Multimap<Long,Institution> newlyAvailable = ArrayListMultimap.create();
    Multimap<Long,Institution> newlyUnavailable = ArrayListMultimap.create(availableInstitutions);
    Builder<Long,Institution> availableBuilder = ImmutableMultimap.builder();
    ImmutableMap.Builder<Long,Long> schemaBuilder = ImmutableMap.builder();
    ImmutableMap.Builder<Long,Institution> instBuilder = ImmutableMap.builder();
    for( Entry<Long,InstitutionStatus> entry : allInstitutions.entrySet() )
    {
        InstitutionStatus instStatus = entry.getValue();
        Institution institution = instStatus.getInstitution();
        Long schemaId = instStatus.getSchemaId();
        if( instStatus.isValid() && institution.isEnabled() )
        {
            availableBuilder.put(schemaId,institution);
            if( !newlyUnavailable.remove(schemaId,institution) )
            {
                newlyAvailable.put(schemaId,institution);
            }
        }
        long uniqueId = institution.getUniqueId();
        schemaBuilder.put(uniqueId,schemaId);
        instBuilder.put(uniqueId,institution);
    }

    availableInstitutions = availableBuilder.build();
    schemaMap = schemaBuilder.build();
    instMap = instBuilder.build();

    if( !newlyAvailable.isEmpty() )
    {
        eventService.publishApplicationEvent(new InstitutionEvent(InstitutionEventType.AVAILABLE,newlyAvailable));
    }

    if( !newlyUnavailable.isEmpty() )
    {
        eventService
                .publishApplicationEvent(new InstitutionEvent(InstitutionEventType.UNAVAILABLE,newlyUnavailable));
    }
}
项目:googles-monorepo-demo    文件:ImmutableMultimapTest.java   
public void testBuilder_withImmutableEntry() {
  ImmutableMultimap<String,multimap.get("one"));
}
项目:guava-libraries    文件:ImmutableMultimapTest.java   
public void testBuilder_withImmutableEntry() {
  ImmutableMultimap<String,multimap.get("one"));
}
项目:ocamljava-maven-plugin    文件:PackageComparator.java   
public PackageComparator(final SortedSetMultimap<String,ModuleDescriptor> resolvedModuleDependencies) {
    this.resolvedModuleDependencies = Preconditions.checkNotNull(resolvedModuleDependencies);

    final Set<Entry<String,ModuleDescriptor>> entries = resolvedModuleDependencies.entries();

    final Builder<String,ModuleDescriptor> builder = ImmutableMultimap.builder();
    for (final Entry<String,ModuleDescriptor> entry : entries) {
        final String javaPackageName = entry.getValue().getJavaPackageName();

        builder.put(javaPackageName,entry.getValue());

    }

    this.modulesByPackageName = builder.build();


}
项目:guava    文件:ImmutableMultimapTest.java   
public void testBuilder_withImmutableEntry() {
  ImmutableMultimap<String,Integer> multimap =
      new Builder<String,Integer>().put(Maps.immutableEntry("one",1)).build();
  assertEquals(Arrays.asList(1),multimap.get("one"));
}
项目:buck    文件:SmartDexingStep.java   
@Override
public StepExecutionResult execute(ExecutionContext context)
    throws IOException,InterruptedException {
  try {
    Multimap<Path,Path> outputToInputs = outputToInputsSupplier.get();
    runDxCommands(context,outputToInputs);
    if (secondaryOutputDir.isPresent()) {
      removeExtraneousSecondaryArtifacts(
          secondaryOutputDir.get(),outputToInputs.keySet(),filesystem);

      // Concatenate if solid compression is specified.
      // create a mapping of the xzs file target and the dex.jar files that go into it
      ImmutableMultimap.Builder<Path,Path> secondaryDexJarsMultimapBuilder =
          ImmutableMultimap.builder();
      for (Path p : outputToInputs.keySet()) {
        if (DexStore.XZS.matchesPath(p)) {
          String[] matches = p.getFileName().toString().split("-");
          Path output = p.getParent().resolve(matches[0].concat(SECONDARY_SOLID_DEX_EXTENSION));
          secondaryDexJarsMultimapBuilder.put(output,p);
        }
      }
      ImmutableMultimap<Path,Path> secondaryDexJarsMultimap =
          secondaryDexJarsMultimapBuilder.build();
      if (!secondaryDexJarsMultimap.isEmpty()) {
        for (Map.Entry<Path,Collection<Path>> entry :
            secondaryDexJarsMultimap.asMap().entrySet()) {
          Path store = entry.getKey();
          Collection<Path> secondaryDexJars = entry.getValue();
          // Construct the output path for our solid blob and its compressed form.
          Path secondaryBlobOutput = store.getParent().resolve("uncompressed.dex.blob");
          Path secondaryCompressedBlobOutput = store;
          // Concatenate the jars into a blob and compress it.
          StepRunner stepRunner = new DefaultStepRunner();
          Step concatStep =
              new ConcatStep(
                  filesystem,ImmutableList.copyOf(secondaryDexJars),secondaryBlobOutput);
          Step xzStep;

          if (xzCompressionLevel.isPresent()) {
            xzStep =
                new XzStep(
                    filesystem,secondaryBlobOutput,secondaryCompressedBlobOutput,xzCompressionLevel.get().intValue());
          } else {
            xzStep = new XzStep(filesystem,secondaryCompressedBlobOutput);
          }
          stepRunner.runStepForBuildTarget(context,concatStep,Optional.empty());
          stepRunner.runStepForBuildTarget(context,xzStep,Optional.empty());
        }
      }
    }
  } catch (StepFailedException e) {
    context.logError(e,"There was an error in smart dexing step.");
    return StepExecutionResults.ERROR;
  }

  return StepExecutionResults.SUCCESS;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


com.google.gson.internal.bind.ArrayTypeAdapter的实例源码
com.google.gson.JsonSyntaxException的实例源码
com.google.gson.JsonDeserializer的实例源码
com.google.gson.internal.ConstructorConstructor的实例源码
com.google.gson.JsonPrimitive的实例源码
com.google.gson.LongSerializationPolicy的实例源码
com.google.gson.internal.GsonInternalAccess的实例源码
com.google.gson.JsonIOException的实例源码
com.google.gson.internal.StringMap的实例源码
com.google.gson.JsonObject的实例源码
com.google.gson.internal.bind.TimeTypeAdapter的实例源码
com.google.gson.FieldAttributes的实例源码
com.google.gson.internal.bind.TreeTypeAdapter的实例源码
com.google.gson.internal.LinkedHashTreeMap的实例源码
com.google.gson.TypeAdapterFactory的实例源码
com.google.gson.JsonSerializer的实例源码
com.google.gson.FieldNamingPolicy的实例源码
com.google.gson.JsonElement的实例源码
com.google.gson.internal.JsonReaderInternalAccess的实例源码
com.google.gson.TypeAdapter的实例源码