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

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

import java.util.List;

public interface Fraction {
    /**
     * Returns the name of the fraction.
     *
     * @return The name of the fraction.
     */
    String getName();

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

    /**
     * Returns the long name of the fraction.
     *
     * @return The long name of the fraction.
     */
    String getLongName();

    /**
     * Returns the members of the fraction.
     *
     * @return The members of the fraction.
     */
    List<Integer> getMembers();
    /**
     * Adds a member to the fraction.
     *
     * @param member The member to add.
     */
    void addMember(int member);

    /**
     * Updates the name of the fraction.
     *
     * @param name The new name of the fraction.
     */
    void updateName(String name);

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