/** * Creates a constant binding to {@code @Named(key)} for each entry in * {@code properties}. */ public static void bindProperties(Binder binder, Map<String, String> properties) { binder = binder.skipSources(Names.class); for (Map.Entry<String, String> entry : properties.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); binder.bind(Key.get(String.class, new NamedImpl(key))).toInstance(value); } }
/** * Creates a constant binding to {@code @Named(key)} for each property. This * method binds all properties including those inherited from * {@link Properties#defaults defaults}. */ public static void bindProperties(Binder binder, Properties properties) { binder = binder.skipSources(Names.class); // use enumeration to include the default properties for (Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); ) { String propertyName = (String) e.nextElement(); String value = properties.getProperty(propertyName); binder.bind(Key.get(String.class, new NamedImpl(propertyName))).toInstance(value); } } }
@Override public void applyTo(Binder binder) { // instance bindings aren't scoped binder.withSource(getSource()).bind(getKey()).toInstance(instance); }
/** * This creates two bindings. One for the {@code Map.Entry<K, Provider<V>>} * and another for {@code V}. */ @Override public LinkedBindingBuilder<V> addBinding(K key) { Multibinder.checkNotNull(key, "key"); Multibinder.checkConfiguration(!isInitialized(), "MapBinder was already initialized"); Key<V> valueKey = Key.get(valueType, new RealElement(entrySetBinder.getSetName())); entrySetBinder.addBinding().toInstance(new MapEntry<>(key, binder.getProvider(valueKey))); return binder.bind(valueKey); }
@Override protected void bindExtensions(Binder binder) { MapBinder<K, V> mapBinder = MapBinder.newMapBinder(binder, keyType, valueType); for (Map.Entry<K, V> entry : map.entrySet()) { mapBinder.addBinding(entry.getKey()).toInstance(entry.getValue()); } } }
/** * Creates a constant binding to {@code @Named(key)} for each entry in * {@code properties}. */ public static void bindProperties(Binder binder, Map<String, String> properties) { binder = binder.skipSources(Names.class); for (Map.Entry<String, String> entry : properties.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); binder.bind(Key.get(String.class, new NamedImpl(key))).toInstance(value); } }
/** * Creates a constant binding to {@code @Named(key)} for each entry in * {@code properties}. */ public static void bindProperties(Binder binder, Map<String, String> properties) { binder = binder.skipSources(Names.class); for (Map.Entry<String, String> entry : properties.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); binder.bind(Key.get(String.class, new NamedImpl(key))).toInstance(value); } }
@Override public void applyTo(Binder binder) { // instance bindings aren't scoped binder.withSource(getSource()).bind(getKey()).toInstance(instance); }
@Override public void applyTo(Binder binder) { // instance bindings aren't scoped binder.withSource(getSource()).bind(getKey()).toInstance(instance); }
@Override public void applyTo(Binder binder) { // instance bindings aren't scoped binder.withSource(getSource()).bind(getKey()).toInstance(instance); }
@Override protected void configure() { bind(String.class).annotatedWith(Names.named("appName")).toInstance("elasticshell"); bind(InputStream.class).annotatedWith(Names.named("shellInput")).toInstance(System.in); bind(PrintStream.class).annotatedWith(Names.named("shellOutput")).toInstance(new PrintStream(System.out, true)); bind(ShutdownHook.class).asEagerSingleton(); bind(ResourceRegistry.class).to(DefaultResourceRegistry.class).asEagerSingleton(); bind(Scheduler.class).to(DefaultScheduler.class).asEagerSingleton(); } }
@Override protected void configure() { bind(RepositoriesService.class).asEagerSingleton(); bind(SnapshotsService.class).asEagerSingleton(); bind(SnapshotShardsService.class).asEagerSingleton(); bind(TransportNodesSnapshotsStatus.class).asEagerSingleton(); bind(RestoreService.class).asEagerSingleton(); MapBinder<String, Repository.Factory> typesBinder = MapBinder.newMapBinder(binder(), String.class, Repository.Factory.class); repositoryTypes.forEach((k, v) -> typesBinder.addBinding(k).toInstance(v)); } }
@Override protected void configure() { bind(RepositoriesService.class).asEagerSingleton(); bind(SnapshotsService.class).asEagerSingleton(); bind(SnapshotShardsService.class).asEagerSingleton(); bind(TransportNodesSnapshotsStatus.class).asEagerSingleton(); bind(RestoreService.class).asEagerSingleton(); MapBinder<String, Repository.Factory> typesBinder = MapBinder.newMapBinder(binder(), String.class, Repository.Factory.class); repositoryTypes.forEach((k, v) -> typesBinder.addBinding(k).toInstance(v)); } }
@Override protected void configure() { bind(RepositoriesService.class).asEagerSingleton(); bind(SnapshotsService.class).asEagerSingleton(); bind(SnapshotShardsService.class).asEagerSingleton(); bind(TransportNodesSnapshotsStatus.class).asEagerSingleton(); bind(RestoreService.class).asEagerSingleton(); MapBinder<String, Repository.Factory> typesBinder = MapBinder.newMapBinder(binder(), String.class, Repository.Factory.class); repositoryTypes.forEach((k, v) -> typesBinder.addBinding(k).toInstance(v)); } }
@Override protected void configure() { bind(TransportExtendedAnalyzeAction.class).asEagerSingleton(); MapBinder<GenericAction, TransportAction> transportActionsBinder = MapBinder.newMapBinder(binder(), GenericAction.class, TransportAction.class); transportActionsBinder.addBinding(ExtendedAnalyzeAction.INSTANCE).to(TransportExtendedAnalyzeAction.class).asEagerSingleton(); MapBinder<String, GenericAction> actionsBinder = MapBinder.newMapBinder(binder(), String.class, GenericAction.class); actionsBinder.addBinding(ExtendedAnalyzeAction.NAME).toInstance(ExtendedAnalyzeAction.INSTANCE); } }
/** * This creates two bindings. One for the {@code Map.Entry<K, Provider<V>>} * and another for {@code V}. */ @Override public LinkedBindingBuilder<V> addBinding(K key) { Multibinder.checkNotNull(key, "key"); Multibinder.checkConfiguration(!isInitialized(), "MapBinder was already initialized"); Key<V> valueKey = Key.get(valueType, new RealElement(entrySetBinder.getSetName())); entrySetBinder.addBinding().toInstance(new MapEntry<>(key, binder.getProvider(valueKey))); return binder.bind(valueKey); }
/** * This creates two bindings. One for the {@code Map.Entry<K, Provider<V>>} * and another for {@code V}. */ @Override public LinkedBindingBuilder<V> addBinding(K key) { Multibinder.checkNotNull(key, "key"); Multibinder.checkConfiguration(!isInitialized(), "MapBinder was already initialized"); Key<V> valueKey = Key.get(valueType, new RealElement(entrySetBinder.getSetName())); entrySetBinder.addBinding().toInstance(new MapEntry<>(key, binder.getProvider(valueKey))); return binder.bind(valueKey); }
/** * This creates two bindings. One for the {@code Map.Entry<K, Provider<V>>} * and another for {@code V}. */ @Override public LinkedBindingBuilder<V> addBinding(K key) { Multibinder.checkNotNull(key, "key"); Multibinder.checkConfiguration(!isInitialized(), "MapBinder was already initialized"); Key<V> valueKey = Key.get(valueType, new RealElement(entrySetBinder.getSetName())); entrySetBinder.addBinding().toInstance(new MapEntry<>(key, binder.getProvider(valueKey))); return binder.bind(valueKey); }
@Override protected void configure() { bind(TransportDumpAction.class).asEagerSingleton(); bind(DumpParser.class).asEagerSingleton(); MapBinder<GenericAction, TransportAction> transportActionsBinder = MapBinder.newMapBinder(binder(), GenericAction.class, TransportAction.class); transportActionsBinder.addBinding(DumpAction.INSTANCE).to(TransportDumpAction.class).asEagerSingleton(); MapBinder<String, GenericAction> actionsBinder = MapBinder.newMapBinder(binder(), String.class, GenericAction.class); actionsBinder.addBinding(DumpAction.NAME).toInstance(DumpAction.INSTANCE); } }
@Override protected void configure() { bind(TransportRestoreAction.class).asEagerSingleton(); bind(RestoreParser.class).asEagerSingleton(); MapBinder<GenericAction, TransportAction> transportActionsBinder = MapBinder.newMapBinder(binder(), GenericAction.class, TransportAction.class); transportActionsBinder.addBinding(RestoreAction.INSTANCE).to(TransportRestoreAction.class).asEagerSingleton(); MapBinder<String, GenericAction> actionsBinder = MapBinder.newMapBinder(binder(), String.class, GenericAction.class); actionsBinder.addBinding(RestoreAction.NAME).toInstance(RestoreAction.INSTANCE); }