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

cdc.issues.Project Maven / Gradle / Ivy

package cdc.issues;

import java.util.List;
import java.util.Optional;
import java.util.Set;

import cdc.issues.answers.IssueAnswer;
import cdc.issues.rules.Profile;

/**
 * Interface describing a Project.
 *
 * @author Damien Carbonne
 */
public interface Project {
    /**
     * @return The name of this project.
     */
    public String getName();

    /**
     * @return The description of this project.
     */
    public String getDescription();

    /**
     * @return The meta data associated to this project.
     */
    public Metas getMetas();

    /**
     * @return The labels associated to this project.
     */
    public Labels getLabels();

    /**
     * @return The profile of this project.
     */
    public Optional getProfile();

    /**
     * @return The data sources contained in this project.
     */
    public Iterable> getDataSources();

    /**
     * @return The associated snapshots.
     */
    public List getSnapshots();

    /**
     * @return The associated answers.
     */
    public Set getAnswers();

    /**
     * @param id The issue id.
     * @return The answer having an {@code id} or {@code null}.
     */
    public Optional getAnswer(IssueId id);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy