/* * Copyright 2014 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egovernment.moa.id.config.webgui.validation.task; import java.util.List; import java.util.Map; import java.util.regex.Pattern; import at.gv.egiz.components.configuration.api.Configuration; import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationTaskValidationException; /** * @author tlenz * */ public interface ITaskValidator { /** * Validate a specific set of key/value pairs (whitelist checks are included) * * @param input Key/Value pairs of a module for validation * @throws ConfigurationModulValidationException */ public void validate(Map input) throws ConfigurationTaskValidationException; /** * Get task specific key/value pairs which must be added * The return keys must be full qualified according to the MOA-ID key namespace definition * * @param input Set of key/value pairs * @param keysToDelete List of keys which should be deleted * @param dbconfig {Configuration} to access the current used configuration * @return {Map} of key/value pairs which had to be added to configuration or null */ public Map postProcessing(Map input, List keysToDelete, Configuration dbconfig); /** * Get a key prefix for with this validation task is sensitive * * @return keyPrefix {String} or null if no prefix is defined */ public String getKeyPrefix(); /** * Get the friendly name of this validation task * * @return friendlyName {String} */ public String getName(); /** * Get a list of keys which are white listed for this task * * @return {List} of keys which are allowed */ public List getAllAllowedPatterns(); }