GroovyStepsFactory.java

  1. package org.jbehave.core.steps.groovy;

  2. import java.util.ArrayList;
  3. import java.util.List;

  4. import org.jbehave.core.configuration.Configuration;
  5. import org.jbehave.core.configuration.groovy.GroovyContext;
  6. import org.jbehave.core.steps.AbstractStepsFactory;

  7. public class GroovyStepsFactory extends AbstractStepsFactory {

  8.     private final GroovyContext context;

  9.     public GroovyStepsFactory(Configuration configuration, GroovyContext context) {
  10.         super(configuration);
  11.         this.context = context;
  12.     }

  13.     @Override
  14.     protected List<Class<?>> stepsTypes() {
  15.         List<Class<?>> types = new ArrayList<>();
  16.         for (Object object : context.getInstances()) {
  17.             if (hasAnnotatedMethods(object.getClass())) {
  18.                 types.add(object.getClass());
  19.             }
  20.         }
  21.         return types;
  22.     }

  23.     @Override
  24.     public Object createInstanceOfType(Class<?> type) {
  25.         return context.getInstanceOfType(type);
  26.     }

  27. }