UsingSteps.class, Object.class, "instances");
if (!stepsClasses.isEmpty()) {
for (Class<Object> stepsClass : stepsClasses) {
stepsInstances.add(instanceOf(Object.class, stepsClass));
}
factory = new InstanceStepsFactory(configuration,
stepsInstances);
}
List<String> packages = finder.getAnnotatedValues(UsingSteps.class,
String.class, "packages");
if (!packages.isEmpty()) {
String matchingNames = finder.getAnnotatedValue(UsingSteps.class,
String.class, "matchingNames");
String notMatchingNames = finder.getAnnotatedValue(UsingSteps.class,
String.class, "notMatchingNames");
factory = new ScanningStepsFactory(configuration,
packages.toArray(new String[packages.size()]))
.matchingNames(matchingNames).notMatchingNames(notMatchingNames);
}
} else {
annotationMonitor.annotationNotFound(UsingSteps.class, annotatedClass);
}
if (factory == null) {
factory = new InstanceStepsFactory(configuration);
}
return factory;
}