Example usage for com.google.common.collect ImmutableClassToInstanceMap.Builder put

List of usage examples for com.google.common.collect ImmutableClassToInstanceMap.Builder put

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableClassToInstanceMap.Builder put.

Prototype

V put(K key, V value);

Source Link

Document

Associates the specified value with the specified key in this map (optional operation).

Usage

From source file:org.tensorics.core.tensor.Coordinates.java

/**
 * Creates a class to instance map, from the given coordinates. The map will contain the classes of the coordinates
 * as keys and the coordinates themselves as values. Duplicate keys (dimensions) are not allowed and will result in
 * an {@link IllegalArgumentException}.//from w  ww.  j a v a 2  s  .  co m
 * 
 * @param coordinates the coordinates to be added to the map
 * @return an immutable map from dimensions (coordinate classes) to coordinate
 * @throws IllegalArgumentException if more than one coordinate per dimension are provided
 * @deprecated
 */
@Deprecated
public static <C> ClassToInstanceMap<C> mapOf(Iterable<? extends C> coordinates) {
    ImmutableClassToInstanceMap.Builder<C> coordinateBuilder = ImmutableClassToInstanceMap.builder();
    for (C coordinate : coordinates) {
        @SuppressWarnings("unchecked")
        Class<C> coordinateClass = (Class<C>) coordinate.getClass();
        coordinateBuilder.put(coordinateClass, coordinate);
    }
    return coordinateBuilder.build();
}

From source file:com.facebook.presto.connector.dual.DualConnector.java

@Inject
public DualConnector(NodeManager nodeManager) {
    ImmutableClassToInstanceMap.Builder<Object> services = ImmutableClassToInstanceMap.builder();
    services.put(ConnectorMetadata.class, new DualMetadata());
    services.put(ConnectorSplitManager.class, new DualSplitManager(nodeManager));
    services.put(ConnectorDataStreamProvider.class, new DualDataStreamProvider());
    services.put(ConnectorHandleResolver.class, new DualHandleResolver());

    this.services = services.build();
}

From source file:com.facebook.presto.connector.system.SystemConnector.java

@Inject
public SystemConnector(SystemTablesMetadata value, SystemSplitManager systemSplitManager,
        SystemDataStreamProvider systemDataStreamProvider) {
    ImmutableClassToInstanceMap.Builder<Object> services = ImmutableClassToInstanceMap.builder();
    services.put(ConnectorMetadata.class, value);
    services.put(ConnectorSplitManager.class, systemSplitManager);
    services.put(ConnectorDataStreamProvider.class, systemDataStreamProvider);
    services.put(ConnectorHandleResolver.class, new SystemHandleResolver());

    this.services = services.build();
}

From source file:com.google.errorprone.refaster.BugCheckerTransformer.java

@SuppressWarnings("unchecked")
@Override/*from   ww w. ja  v  a2 s  . c o m*/
public ImmutableClassToInstanceMap<Annotation> annotations() {
    ImmutableClassToInstanceMap.Builder<Annotation> builder = ImmutableClassToInstanceMap.builder();
    for (Annotation annotation : checker().getClass().getDeclaredAnnotations()) {
        builder.put((Class) annotation.annotationType(), annotation);
    }
    return builder.build();
}

From source file:com.facebook.presto.connector.NativeConnectorFactory.java

@Override
public Connector create(String connectorId, Map<String, String> properties) {
    ImmutableClassToInstanceMap.Builder<Object> builder = ImmutableClassToInstanceMap.builder();

    IDBI dbi = this.dbi.get();
    if (dbi != null) {
        builder.put(ConnectorMetadata.class, new NativeMetadata(connectorId, dbi));
    }/*from ww w.j  a va2 s. co  m*/

    NativeSplitManager splitManager = this.splitManager.get();
    if (splitManager != null) {
        builder.put(ConnectorSplitManager.class, splitManager);
    }

    builder.put(ConnectorDataStreamProvider.class, dataStreamProvider);
    builder.put(ConnectorHandleResolver.class, HANDLE_RESOLVER);

    return new StaticConnector(builder.build());
}

From source file:com.google.errorprone.refaster.UTemplater.java

@SuppressWarnings("unchecked")
public static ImmutableClassToInstanceMap<Annotation> annotationMap(Symbol symbol) {
    ImmutableClassToInstanceMap.Builder<Annotation> builder = ImmutableClassToInstanceMap.builder();
    for (Compound compound : symbol.getAnnotationMirrors()) {
        Name qualifiedAnnotationType = ((TypeElement) compound.getAnnotationType().asElement())
                .getQualifiedName();/*from  ww  w  .j  a v  a 2  s  . co  m*/
        try {
            Class<? extends Annotation> annotationClazz = Class.forName(qualifiedAnnotationType.toString())
                    .asSubclass(Annotation.class);
            builder.put((Class) annotationClazz,
                    AnnotationProxyMaker.generateAnnotation(compound, annotationClazz));
        } catch (ClassNotFoundException e) {
            throw new IllegalArgumentException("Unrecognized annotation type", e);
        }
    }
    return builder.build();
}

From source file:org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker.java

public void start() {
    checkState(controllerRoot == null, "Binding Aware Broker was already started.");
    LOG.info("Starting Binding Aware Broker: {}", identifier);

    controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker(), getDataBroker());

    final ImmutableClassToInstanceMap.Builder<BindingAwareService> consBuilder = ImmutableClassToInstanceMap
            .builder();/* w w  w  .  ja  va 2 s  . co  m*/

    consBuilder.put(NotificationService.class, getRoot());
    consBuilder.put(DataBrokerService.class, getRoot());
    consBuilder.put(RpcConsumerRegistry.class, getRoot());
    if (dataBroker != null) {
        consBuilder.put(DataBroker.class, dataBroker);
    }
    consBuilder.put(MountPointService.class, mountService);
    consBuilder.put(MountService.class, legacyMount).build();

    supportedConsumerServices = consBuilder.build();
    final ImmutableClassToInstanceMap.Builder<BindingAwareService> provBuilder = ImmutableClassToInstanceMap
            .builder();
    provBuilder.putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot())
            .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot())
            .put(MountProviderService.class, legacyMount);
    if (notificationPublishService != null) {
        provBuilder.put(NotificationPublishService.class, notificationPublishService);
    }
    supportedConsumerServices = consBuilder.build();
    supportedProviderServices = provBuilder.build();
}

From source file:org.opendaylight.controller.md.sal.binding.compat.HydrogenMountInstanceAdapter.java

public HydrogenMountInstanceAdapter(final MountPoint key) {
    this.identifier = key.getIdentifier();
    final ImmutableClassToInstanceMap.Builder<BindingAwareService> builder = ImmutableClassToInstanceMap
            .builder();/*from ww w.  j  a v a2 s  .c  o m*/

    final Optional<DataBroker> dataBroker = key.getService(DataBroker.class);
    if (dataBroker.isPresent()) {
        builder.put(DataBrokerService.class, new HydrogenDataBrokerAdapter(dataBroker.get()));
    }
    final Optional<org.opendaylight.controller.md.sal.binding.api.NotificationService> notificationService = key
            .getService(org.opendaylight.controller.md.sal.binding.api.NotificationService.class);
    if (notificationService.isPresent()) {
        builder.put(NotificationService.class, new HeliumNotificationServiceAdapter(notificationService.get()));
    }
    final Optional<RpcConsumerRegistry> rpcRegistry = key.getService(RpcConsumerRegistry.class);
    if (rpcRegistry.isPresent()) {
        builder.put(RpcConsumerRegistry.class, rpcRegistry.get());
    }
    services = builder.build();
}