StepsContainer.java

  1. package org.jbehave.core.model;

  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.stream.Collectors;

  5. abstract class StepsContainer {

  6.     private final List<String> steps;

  7.     StepsContainer(List<String> steps) {
  8.         this.steps = steps;
  9.     }

  10.     public List<String> getSteps() {
  11.         return getSteps(true);
  12.     }

  13.     public List<String> getSteps(boolean trim) {
  14.         return trim ? trim(steps) : steps;
  15.     }

  16.     private List<String> trim(List<String> steps) {
  17.         return steps.stream()
  18.                 .map(String::trim)
  19.                 .collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
  20.     }
  21. }