All Downloads are FREE. Search and download functionalities are using the official Maven repository.

azkaban.project.validator.ValidatorManager Maven / Gradle / Ivy

package azkaban.project.validator;

import azkaban.project.Project;
import azkaban.utils.Props;
import java.io.File;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;

/**
 * ValidatorManager is responsible for loading the list of validators specified in the Azkaban
 * validator configuration file. Once these validators are loaded, the ValidatorManager will use the
 * registered validators to verify each uploaded project before persisting it.
 */
public interface ValidatorManager {

  /**
   * Load the validators using the given properties. Each validator is also given the specified
   * logger to record any necessary message in the Azkaban log file.
   */
  void loadValidators(Props props, Logger logger);

  /**
   * Validate the given project using the registered list of validators. This method returns a map
   * of {@link ValidationReport} with the key being the validator's name and the value being the
   * {@link ValidationReport} generated by that validator.
   */
  Map validate(Project project, File projectDir);

  /**
   * Returns a list of String containing the name of each registered validators.
   */
  List getValidatorsInfo();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy