001package org.junit.runners.parameterized;
002
003import org.junit.runner.Runner;
004import org.junit.runners.model.InitializationError;
005
006/**
007 * A {@code ParametersRunnerFactory} creates a runner for a single
008 * {@link TestWithParameters}.
009 * 
010 * @since 4.12
011 */
012public interface ParametersRunnerFactory {
013    /**
014     * Returns a runner for the specified {@link TestWithParameters}.
015     * 
016     * @throws InitializationError
017     *             if the runner could not be created.
018     */
019    Runner createRunnerForTestWithParameters(TestWithParameters test)
020            throws InitializationError;
021}