package org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces;

import org.texttechnologylab.project.gruppe_05_1.xml.speeches.enums.MongoDBEntryType;

import java.util.ArrayList;

public interface AgendaItem {
    /**
     * Returns the ID of the agenda item.
     *
     * @return The ID of the agenda item.
     */
    int getId();

    /**
     * Returns the type of the MongoDB entry.
     *
     * @return The type of the MongoDB entry.
     */
    MongoDBEntryType getType();

    /**
     * Returns the session ID.
     *
     * @return The session ID.
     */
    int getSessionId();

    /**
     * Returns the title of the agenda item.
     *
     * @return The title of the agenda item.
     */
    String getTitle();

    /**
     * Returns the speeches of the agenda item.
     *
     * @return The speeches of the agenda item.
     */
    ArrayList<Speech> getSpeeches();

    /**
     * Adds a speech to the agenda item.
     *
     * @param speech The speech to add.
     */
    void addSpeech(Speech speech);

    /**
     * Returns the HTML representation of the agenda item.
     *
     * @return The HTML representation of the agenda item.
     */
    String toHTML();
}
