package com.netflix.governator.spi; import java.util.List; import com.google.inject.Module; /** * Module transformers are used to modify the final list of modules and return a * modified or augmented list of modules which may included additional or removed * bindings. * * ModuleTransfomers can be used to do the following types of functionality, * 1. Remove unwanted bindings * 2. Auto add non-existent bindings * 3. Warn on dangerous bindings like toInstance() and static injection. */ public interface ModuleListTransformer { /** * Using the provided list of modules (and bindings) return a new augments list * which may included additional bindings and modules. * * @param modules * @return New list of modules. Can be the old list. */ List<Module> transform(List<Module> modules); }