// SPDX-FileCopyrightText: 2025 Jonas Smedegaard // SPDX-License-Identifier: GPL-3.0-or-later package dk.biks.bachelorizer; import java.util.ArrayList; import java.util.List; /// Bachelorizer - reference storage model abstract class Storage { /// default constructor // (declared explicitly only to silence javadoc) Storage() { } /// initialization as needed abstract void initialize(); /// add student /// /// @param name Name of student public abstract void addStudent(String name); /// get student name /// /// @return name of student public abstract String getStudentName(); /// resolve activity index from name /// /// @param name activity name /// @return index of activity as integer abstract int getActivityIndeks(String name); /// insert activity into participation /// /// @param activityIndex index of activity abstract void addParticipation(int activityIndex); /// list currently participating activities /// /// @param program programme name /// @return names of participating activities abstract ArrayList getParticipation(String program); /// purge participation choices abstract void clearParticipation(); /// list activities within a program /// /// @param program programme name /// @return names of contained activities abstract ArrayList selectProgram(String program); /// sum of ECTS points under the given category /// /// @param program programme name /// @return ECTS points as String abstract String getSumEcts(String program); /// list of available subject modules /// /// @return names of all subject modules as list of strings abstract List getAllSubjects(); /// list of available activities /// /// @return names of all activities as list of strings abstract ArrayList getAllActivities(); }