/** * Register a {@link Registry} in this {@code RegistryManager}. * An existing registry can be replaced by a new one. * Registries are stored in a case-insensitive map (keys are uppercase) * * @param registry the Registry to add * @param replace whether an existing Registry with the same name should be * replaced or not. */ public void addRegistry(Registry registry, boolean replace) { LOGGER.trace("Adding a new registry " + registry.getRegistryName()); String registryName = registry.getRegistryName().toUpperCase(); if (!replace && registries.containsKey(registryName)) { throw new IllegalArgumentException("Registry " + registryName + " already exists"); } registries.put(registryName, registry); fireRegistryAdded(registry.getRegistryName()); }