package junitparams.internal.parameters; import junitparams.Parameters; import org.junit.runners.model.FrameworkMethod; class ParametersFromExternalClassMethod implements ParametrizationStrategy { private ParamsFromMethodCommon paramsFromMethodCommon; private Parameters annotation; ParametersFromExternalClassMethod(FrameworkMethod frameworkMethod) { this.paramsFromMethodCommon = new ParamsFromMethodCommon(frameworkMethod); annotation = frameworkMethod.getAnnotation(Parameters.class); } @Override public Object[] getParameters() { Class sourceClass = annotation.source(); return paramsFromMethodCommon.paramsFromMethod(sourceClass); } @Override public boolean isApplicable() { return annotation != null && !annotation.source().isAssignableFrom(Void.class) && !annotation.method().isEmpty(); } }