com.google.common.collect.ClassToInstanceMap#put ( )源码实例Demo

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

源代码1 项目: bazel   文件: BuildConfiguration.java
/**
 * Returns a copy of this configuration only including the given fragments (which the current
 * configuration is assumed to have).
 */
public BuildConfiguration clone(
    FragmentClassSet fragmentClasses,
    RuleClassProvider ruleClassProvider,
    BuildOptions defaultBuildOptions) {

  ClassToInstanceMap<Fragment> fragmentsMap = MutableClassToInstanceMap.create();
  for (Fragment fragment : fragments.values()) {
    if (fragmentClasses.fragmentClasses().contains(fragment.getClass())) {
      fragmentsMap.put(fragment.getClass(), fragment);
    }
  }
  BuildOptions options =
      buildOptions.trim(getOptionsClasses(fragmentsMap.keySet(), ruleClassProvider));
  BuildConfiguration newConfig =
      new BuildConfiguration(
          getDirectories(),
          fragmentsMap,
          options,
          BuildOptions.diffForReconstruction(defaultBuildOptions, options),
          reservedActionMnemonics,
          actionEnv,
          mainRepositoryName.strippedName());
  return newConfig;
}
 
@Test
public void classToINstanceMap_example () {
	
	Person person = new Person("Jackson");
	Jobs jobs = new Jobs("IT person");
	Address address = new  Address("505 Williams Street");
	
	ClassToInstanceMap<Object> classToInstanceMap = MutableClassToInstanceMap.create();
	classToInstanceMap.put(Person.class, person);
	classToInstanceMap.put(Jobs.class, jobs);
	classToInstanceMap.put(Address.class, address);
	
	logger.info(classToInstanceMap);
	
	assertEquals("IT person", classToInstanceMap.getInstance(Jobs.class).getJobName());
}
 
源代码3 项目: tutorials   文件: ClassToInstanceMapUnitTest.java
@Test
public void givenClassToInstanceMap_whenPutCalled_returnPreviousElementUpperBound() {
    ClassToInstanceMap<Action> map = MutableClassToInstanceMap.create();
    map.put(Save.class, new Save());
    // Put again to get previous value returned
    Action action = map.put(Save.class, new Save());
    assertTrue(action instanceof Save);

    // Use putInstance to avoid casting
    Save save = map.putInstance(Save.class, new Save());
}
 
private ClassToInstanceMap<Annotation> toMap(Collection<? extends Annotation> annotations) {
    ClassToInstanceMap<Annotation> annotationMap = MutableClassToInstanceMap.create();
    for (Annotation annotation : annotations) {
        if (annotation == null) {
            continue;
        }
        annotationMap.put(annotation.annotationType(), annotation);
    }

    return annotationMap;
}
 
 同类方法