/** * Specify the CascadeStrategy used to load environment overrides for application and * library configurations. * * <code> * install(new ArchaiusModule() { * {@literal @}Override * protected void configureArchaius() { * bindCascadeStrategy().to(MyCascadeStrategy.class); * } * }); * </code> * * @return LinkedBindingBuilder to which the implementation is set */ protected LinkedBindingBuilder<CascadeStrategy> bindCascadeStrategy() { return bind(CascadeStrategy.class); }
@Override final protected void configure() { ConfigurationInjectingListener listener = new ConfigurationInjectingListener(); requestInjection(listener); bindListener(Matchers.any(), listener); bind(ConfigMapper.class).to(DefaultConfigMapper.class).in(Scopes.SINGLETON); }
/** * Specify the Config to use for the remote layer. * * <code> * install(new ArchaiusModule() { * {@literal @}Override * protected void configureArchaius() { * bindRemoteConfig().to(SomeRemoteConfigImpl.class); * } * }); * </code> * * @return LinkedBindingBuilder to which the implementation is set */ protected LinkedBindingBuilder<Config> bindRemoteConfig() { return bind(Config.class).annotatedWith(RemoteLayer.class); }
/** * Set application overrides. This is normally done for unit tests. * * <code> * install(new ArchaiusModule() { * {@literal @}Override * protected void configureArchaius() { * bindApplicationConfigurationOverride().toInstance(MapConfig.builder() * .put("some_property_to_override", "value") * .build() * ); * } * }); * </code> * * @return LinkedBindingBuilder to which the implementation is set */ protected LinkedBindingBuilder<Config> bindApplicationConfigurationOverride() { return bind(Config.class).annotatedWith(ApplicationOverride.class); }
/** * Customize the filename for the main application configuration. The default filename is * 'application'. * * <code> * install(new ArchaiusModule() { * {@literal @}Override * protected void configureArchaius() { * bindConfigurationName().toInstance("myconfig"); * } * }); * </code> * * @return LinkedBindingBuilder to which the implementation is set */ protected LinkedBindingBuilder<String> bindConfigurationName() { return bind(String.class).annotatedWith(Names.named(InternalArchaiusModule.CONFIG_NAME_KEY)); }