diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-30 23:04:31 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-30 23:06:21 +0200 |
commit | fc937e3eafe20daf65c4e6784a9e7fd038a1b8c4 (patch) | |
tree | f5a3215e7f07b64c1773c726ca2632043e031553 /src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java | |
parent | 2aef5be440dc9ecb1a84c6c4da250ae3b8db0356 (diff) |
add abstract class Storage
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(); +} |