下面列出了com.google.common.collect.ImmutableClassToInstanceMap#of ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private FakeSpawnExecutionContext getSpawnContext(Spawn spawn) {
AbstractSpawnStrategy fakeLocalStrategy = new AbstractSpawnStrategy(execRoot, localRunner) {};
ClassToInstanceMap<ActionContext> actionContextRegistry =
ImmutableClassToInstanceMap.of(RemoteLocalFallbackRegistry.class, () -> fakeLocalStrategy);
return new FakeSpawnExecutionContext(
spawn, fakeFileCache, execRoot, outErr, actionContextRegistry);
}
@Test
public void givenClassToInstanceMap_whenGetCalled_returnUpperBoundElement() {
ClassToInstanceMap<Action> map = ImmutableClassToInstanceMap.of(Save.class, new Save());
Action action = map.get(Save.class);
assertTrue(action instanceof Save);
// Use getInstance to avoid casting
Save save = map.getInstance(Save.class);
}
PluginRegistry() {
this(ImmutableClassToInstanceMap.of());
}
@Override
public ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
return ImmutableClassToInstanceMap.of(StreamWriterMountPointExtension.class, this);
}
@Override
public final ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
return ImmutableClassToInstanceMap.of(StreamWriterMetadataExtension.class, this);
}
@Override
public final ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
return ImmutableClassToInstanceMap.of(StreamWriterMountPointExtension.class, this);
}
@Override
public final ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
return ImmutableClassToInstanceMap.of(StreamWriterMetadataExtension.class, this);
}
public FakeSpawnExecutionContext(
Spawn spawn, MetadataProvider metadataProvider, Path execRoot, FileOutErr outErr) {
this(spawn, metadataProvider, execRoot, outErr, ImmutableClassToInstanceMap.of());
}
@Test
public void whenOfCalled_thenCreateEmptyImmutableMap() {
ClassToInstanceMap<Action> map = ImmutableClassToInstanceMap.of();
assertTrue(map.isEmpty());
}
@Test
public void whenOfWithParameterCalled_thenCreateSingleEntryMap() {
ClassToInstanceMap<Action> map = ImmutableClassToInstanceMap.of(Save.class, new Save());
assertEquals(1, map.size());
}
/**
* Return a map of currently-supported extensions, along with accessor objects which provide access to the specific
* functionality bound to this object.
*
* @return A map of supported functionality.
*/
default @NonNull ClassToInstanceMap<E> getExtensions() {
return ImmutableClassToInstanceMap.of();
}