Example usage for com.google.common.collect ImmutableClassToInstanceMap builder

List of usage examples for com.google.common.collect ImmutableClassToInstanceMap builder

Introduction

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

Prototype

public static <B> Builder<B> builder() 

Source Link

Document

Returns a new builder.

Usage

From source file:com.github.akiraly.db4j.ContextRowMapperFactory.java

public static <T> ImmutableClassToInstanceMap<Object> createContext(RowMapper<T> rowMapper) {
    return ImmutableClassToInstanceMap.builder().put(RowMapper.class, argNotNull(rowMapper, "rowMapper"))
            .build();//  ww  w.  java 2s .  c om
}

From source file:see.evaluation.evaluators.SimpleContext.java

public static <T> Context addService(Context context, Class<T> serviceClass, T service) {
    if (service == context.getServices().getInstance(serviceClass))
        return context; // Return context, if it contains same instance

    return withServices(context,
            ImmutableClassToInstanceMap.builder()
                    .putAll(filterKeys(context.getServices(), not(Predicates.<Object>equalTo(serviceClass))))
                    .put(serviceClass, service).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.opengamma.strata.basics.market.ImmutableTypedReferenceData.java

/**
 * Obtains an instance from a single piece of reference data.
 * <p>//from   ww  w .j  a  v  a  2 s .c o  m
 * The type specified is the type used to access the value, and not necessarily
 * the same as the class of the value.
 * 
 * @param type  the type of the reference data
 * @param value  the single reference data value
 * @return reference data containing the values
 */
public static <T> ImmutableTypedReferenceData of(Class<T> type, T value) {
    return ImmutableTypedReferenceData.of(ImmutableClassToInstanceMap.builder().put(type, value).build());
}

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   ww w .  j a v  a2 s. c om*/
 * 
 * @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.google.errorprone.refaster.BugCheckerTransformer.java

@SuppressWarnings("unchecked")
@Override//from  ww  w. j a  v  a2s.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 w w w .j  a v a 2  s .  c om

    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: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 .jav a 2  s  .co 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();
}

From source file:com.cloudata.structured.sql.provider.CloudataConnectorFactory.java

@Override
public Connector create(final String connectorId, Map<String, String> requiredConfig) {
    checkNotNull(requiredConfig, "requiredConfig is null");
    checkNotNull(optionalConfig, "optionalConfig is null");

    try {//www.  j a va2  s.co m
        // // A plugin is not required to use Guice; it is just very convenient
        // Bootstrap app = new Bootstrap(new JsonModule(), new ExampleModule(connectorId));
        //
        // Injector injector = app.strictConfig().doNotInitializeLogging()
        // .setRequiredConfigurationProperties(requiredConfig)
        // .setOptionalConfigurationProperties(optionalConfig).initialize();

        ClassToInstanceMap<Object> services = ImmutableClassToInstanceMap.builder()

                .put(ConnectorMetadata.class, new CloudataConnectorMetadata(connectorId, store))

                .put(ConnectorSplitManager.class, new CloudataSplitManager(nodeManager, connectorId))

                .put(ConnectorRecordSetProvider.class, new CloudataConnectorRecordSetProvider())

                .put(ConnectorHandleResolver.class, new CloudataConnectorHandleResolver()).build();

        CloudataConnector connector = new CloudataConnector(store, services);
        connectors.put(connectorId, connector);
        return connector;
    } catch (Exception e) {
        throw Throwables.propagate(e);
    }
}