package net.thucydides.core.requirements; import com.google.common.base.Optional; import net.thucydides.core.model.Release; import net.thucydides.core.model.TestOutcome; import net.thucydides.core.model.TestTag; import net.thucydides.core.requirements.model.Requirement; import java.util.List; public interface RequirementsService { List<Requirement> getRequirements(); Optional<Requirement> getParentRequirementFor(TestOutcome testOutcome); Optional<Requirement> getRequirementFor(TestTag tag); List<Requirement> getAncestorRequirementsFor(TestOutcome testOutcome); List<String> getReleaseVersionsFor(TestOutcome testOutcome); List<Release> getReleasesFromRequirements(); List<String> getRequirementTypes(); }