CasePreservingResolver.java

  1. package org.jbehave.core.io;

  2. import org.jbehave.core.Embeddable;

  3. /**
  4.  * <p>
  5.  * Resolves story paths while preserving the Java class case, e.g.:
  6.  * "org.jbehave.core.ICanLogin.java" -> "org/jbehave/core/ICanLogin.story".
  7.  * </p>
  8.  * <p>
  9.  * By default, the {@link AbstractStoryPathResolver#DEFAULT_EXTENSION} is used
  10.  * but this can be configured via the constructor so that we can resolve class
  11.  * to use another or no extension at all, e.g.: "org/jbehave/core/ICanLogin".
  12.  * </p>
  13.  */
  14. public class CasePreservingResolver extends AbstractStoryPathResolver {

  15.     public CasePreservingResolver() {
  16.         this(DEFAULT_EXTENSION);
  17.     }

  18.     public CasePreservingResolver(String extension) {
  19.         super(extension);
  20.     }

  21.     @Override
  22.     protected String resolveName(Class<? extends Embeddable> embeddableClass) {
  23.         return embeddableClass.getSimpleName();
  24.     }

  25. }