001    package org.junit.runners.parameterized;
002    
003    import org.junit.runner.Runner;
004    import 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     */
012    public 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    }