All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cucumber.plugin.event.SnippetsSuggestedEvent Maven / Gradle / Ivy

package io.cucumber.plugin.event;

import org.apiguardian.api.API;

import java.net.URI;
import java.time.Instant;
import java.util.List;

import static java.util.Collections.unmodifiableList;
import static java.util.Objects.requireNonNull;

@API(status = API.Status.STABLE)
public final class SnippetsSuggestedEvent extends TimeStampedEvent {

    private final URI uri;
    private final Location scenarioLocation;
    private final Location stepLocation;
    private final List snippets;

    @Deprecated
    public SnippetsSuggestedEvent(Instant timeInstant, URI uri, int scenarioLine, int stepLine, List snippets) {
        this(timeInstant, uri, new Location(scenarioLine, -1), new Location(stepLine, -1), snippets);
    }

    public SnippetsSuggestedEvent(
            Instant instant, URI uri, Location scenarioLocation, Location stepLocation, List snippets
    ) {
        super(instant);
        this.uri = requireNonNull(uri);
        this.scenarioLocation = scenarioLocation;
        this.stepLocation = stepLocation;
        this.snippets = unmodifiableList(requireNonNull(snippets));
    }

    public URI getUri() {
        return uri;
    }

    @Deprecated
    public int getStepLine() {
        return stepLocation.getLine();
    }

    @Deprecated
    public int getScenarioLine() {
        return scenarioLocation.getLine();
    }

    public Location getScenarioLocation() {
        return scenarioLocation;
    }

    public Location getStepLocation() {
        return stepLocation;
    }

    public List getSnippets() {
        return snippets;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy