aboutsummaryrefslogtreecommitdiff
path: root/src/dk.biks.bachelorizer/dk/biks/bachelorizer/Storage.java
blob: 95e5851c00a254e0fe59fded9454fb93694a540d (plain)
  1. // SPDX-FileCopyrightText: 2025 Jonas Smedegaard <dr@jones.dk>
  2. // SPDX-License-Identifier: GPL-3.0-or-later
  3. package dk.biks.bachelorizer;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. /// Bachelorizer - reference storage model
  7. abstract class Storage {
  8. /// default constructor
  9. // (declared explicitly only to silence javadoc)
  10. Storage() { }
  11. /// initialization as needed
  12. abstract void initialize();
  13. /// add student
  14. ///
  15. /// @param name Name of student
  16. public abstract void addStudent(String name);
  17. /// get student name
  18. ///
  19. /// @return name of student
  20. public abstract String getStudentName();
  21. /// resolve activity index from name
  22. ///
  23. /// @param name activity name
  24. /// @return index of activity as integer
  25. abstract int getActivityIndeks(String name);
  26. /// insert activity into participation
  27. ///
  28. /// @param activityIndex index of activity
  29. abstract void addParticipation(int activityIndex);
  30. /// list currently participating activities
  31. ///
  32. /// @param program programme name
  33. /// @return names of participating activities
  34. abstract ArrayList<String> getParticipation(String program);
  35. /// purge participation choices
  36. abstract void clearParticipation();
  37. /// list activities within a program
  38. ///
  39. /// @param program programme name
  40. /// @return names of contained activities
  41. abstract ArrayList<String> selectProgram(String program);
  42. /// sum of ECTS points under the given category
  43. ///
  44. /// @param program programme name
  45. /// @return ECTS points as String
  46. abstract String getSumEcts(String program);
  47. /// list of available subject modules
  48. ///
  49. /// @return names of all subject modules as list of strings
  50. abstract List<String> getAllSubjects();
  51. /// list of available activities
  52. ///
  53. /// @return names of all activities as list of strings
  54. abstract ArrayList<String> getAllActivities();
  55. }