void put()

in src/main/java/org/apache/sling/validation/impl/ValidatorMap.java [163:181]


    void put(@NotNull String id, @NotNull Validator<?> validator, ServiceReference<Validator<?>> serviceReference, Integer severity) {
        // create new entry
        ValidatorMetadata entry = new ValidatorMetadata(validator, serviceReference, severity);
        if (validatorMap.containsKey(id)) {
            ValidatorMetadata existingEntry = validatorMap.get(id);
            if (entry.compareTo(existingEntry) > 0) {
                LOG.info("Overwriting already existing validator {} with {}, because it has the same id '{}' and a higher service ranking",
                        existingEntry, entry, id);
            } else {
                LOG.info(
                        "A Validator for the same id '{}' is already registered {} and it has a higher service ranking, therefore ignoring {}",
                        id, existingEntry, entry);
                return;
            }
        } else {
            LOG.debug("New validator with id '{}' added: {}", id, entry);
        }
        validatorMap.put(id, entry);
    }