StoryMaps.java
- package org.jbehave.core.model;
- import java.util.ArrayList;
- import java.util.LinkedHashMap;
- import java.util.List;
- import java.util.Map;
- import org.apache.commons.lang3.builder.ToStringBuilder;
- import org.apache.commons.lang3.builder.ToStringStyle;
- /**
- * Provides an view of a list of {@link StoryMap}s, indexed by meta filters.
- */
- public class StoryMaps {
-
- private Map<String, StoryMap> indexed = new LinkedHashMap<>();
- public StoryMaps(List<StoryMap> maps) {
- index(maps);
- }
- private void index(List<StoryMap> storyMaps) {
- for (StoryMap storyMap : storyMaps) {
- indexed.put(storyMap.getMetaFilter(), storyMap);
- }
- }
- public List<String> getMetaFilters() {
- return new ArrayList<>(indexed.keySet());
- }
- public StoryMap getMap(String metaFilter) {
- return indexed.get(metaFilter);
- }
- public List<StoryMap> getMaps() {
- return new ArrayList<>(indexed.values());
- }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("metaFilters", indexed.keySet())
- .toString();
- }
- }