diff options
Diffstat (limited to 'src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java')
-rw-r--r-- | src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java new file mode 100644 index 0000000..95e5851 --- /dev/null +++ b/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java @@ -0,0 +1,70 @@ +// SPDX-FileCopyrightText: 2025 Jonas Smedegaard <dr@jones.dk> +// 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<String> 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<String> 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<String> getAllSubjects(); + + /// list of available activities + /// + /// @return names of all activities as list of strings + abstract ArrayList<String> getAllActivities(); +} |