java.lang.Object
page.codeberg.friedolyn.grades.GradesTable
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe accounts that are part of this grades table but not of anycourses.The courses that the student is enrolled in and whose grades are listed in this table.The modules that are part of this grade table but not of anycourses.private PersonalInformationPersonal data of the student that are included in the grades table.private final @NonNull ArrayList<Subaccount> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAccount(@NonNull Account account) Inserts a newAccountat the end of this course'saccounts list.voidaddAccounts(@NonNull Account... accounts) Inserts the specifiedAccounts at the end of this course'saccounts list.voidInserts the specifiedCourseat the end of this grade table'scourses list.voidaddCourses(@NonNull Course... courses) Inserts the specifiedCourses at the end of this grade table'scourses list.voidAdds aModuleto the end of this grade table'smodules list.voidaddModules(@NonNull Module... modules) Adds the specifiedModules to the end of this grade table'smodules list.voidaddSubaccount(@NonNull Subaccount subaccount) Inserts the specifiedSubaccountat the end of this account'ssubaccounts list.voidaddSubaccounts(@NonNull Subaccount... subaccounts) Inserts the specifiedSubaccounts at the end of this account'ssubaccounts list, in the given order.voidRemoves all accounts from this course'saccounts list.voidRemoves all courses from this grade table'scourses list.voidRemoves all modules from this grade table'smodules list.voidRemoves all subaccounts from this account'ssubaccounts list.booleanChecks whether thisGradesTable's fields are equal to their counterparts in the specified object (if it is a GradesTable at all).@NonNull Optional<PersonalInformation> @NonNull ArrayList<Subaccount> @NonNull AccountremoveAccount(int index) Removes the account at the specified position in this course'saccounts list.booleanremoveAccount(@NonNull Account account) Removes the first occurrence of the specifiedAccountfrom this course'saccounts list, if it is present.removeAccounts(int... indices) Removes the accounts at the specified positions in this course'saccounts list.booleanremoveAccounts(@NonNull Account... accounts) Removes the specifiedAccounts from this course'saccounts list, if they are present.@NonNull CourseremoveCourse(int index) Removes the course at the specified position in this grade table'scourses list.booleanremoveCourse(@NonNull Course course) Removes the first occurrence of the specifiedCoursefrom this grade table'scourses list, if it is present.removeCourses(int... indices) Removes the courses at the specified positions in this grade table'scourses list.booleanremoveCourses(@NonNull Course... courses) Removes the specifiedCourses from this grade table'scourses list, if they are present.@NonNull ModuleremoveModule(int index) Removes the module at the specified position in this grade table'smodules list.booleanremoveModule(@NonNull Module module) Removes the first occurrence of the specifiedModulefrom this grade table'smodules list, if it is present.removeModules(int... indices) Removes the modules at the specified positions in this grade table'smodules list.booleanremoveModules(@NonNull Module... modules) Removes the specifiedModules from this grade table'smodules list, if they are present.@NonNull SubaccountremoveSubaccount(int index) Removes the subaccount at the specified position in this account'ssubaccounts list.booleanremoveSubaccount(@NonNull Subaccount subaccount) Removes the first occurrence of the specifiedSubaccountfrom this account'ssubaccounts list, if it is present.@NonNull ArrayList<Subaccount> removeSubaccounts(int... indices) Removes the subaccounts at the specified positions in this account'ssubaccounts list.booleanremoveSubaccounts(@NonNull Subaccount... subaccounts) Removes the specifiedSubaccounts from this account'ssubaccounts list, if they are present.voidWrites thisGradesTableto the specified file in JSON format.voidsetPersonalInformation(@NonNull PersonalInformation personalInformation) Updates thepersonal dataof the student that are included in the grades table.@NonNull StringtoJSON()Converts thisGradesTableto a JSON string with all fields.@NonNull StringtoString()
-
Field Details
-
personalInformation
Personal data of the student that are included in the grades table. -
COURSES
-
ACCOUNTS
-
SUBACCOUNTS
-
MODULES
-
-
Constructor Details
-
GradesTable
public GradesTable()
-
-
Method Details
-
getPersonalInformation
- Returns:
- The
personal dataof the student that are included in the grades table.
-
getCourses
-
getAccounts
-
getSubaccounts
-
getOrphanModules
- Returns:
- The modules that are part of this grade table but not of any
courses,accountsorsubaccounts.
-
setPersonalInformation
Updates thepersonal dataof the student that are included in the grades table.- Parameters:
personalInformation- The student's personal data.
-
addCourse
Inserts the specifiedCourseat the end of this grade table'scourses list. -
addCourses
Inserts the specifiedCourses at the end of this grade table'scourses list. -
removeCourse
Removes the first occurrence of the specifiedCoursefrom this grade table'scourses list, if it is present.- Parameters:
course- The course to remove.- Returns:
trueif this list contained the specified element,falseotherwise.
-
removeCourses
Removes the specifiedCourses from this grade table'scourses list, if they are present.- Parameters:
courses- The courses to remove.- Returns:
trueif this list was modified as a result of this operation.
-
removeCourse
Removes the course at the specified position in this grade table'scourses list.- Parameters:
index- The index of the course to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The course previously at the specified position.
- Throws:
IndexOutOfBoundsException- If the index is out of range.
-
removeCourses
@NonNull public @NonNull ArrayList<Course> removeCourses(int... indices) throws IndexOutOfBoundsException Removes the courses at the specified positions in this grade table'scourses list.- Parameters:
indices- The indices of the courses to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The courses previously at the specified positions.
- Throws:
IndexOutOfBoundsException- If any of the indices are out of range.
-
clearCourses
public void clearCourses()Removes all courses from this grade table'scourses list. -
addAccount
Inserts a newAccountat the end of this course'saccounts list.- Parameters:
account- The account to add.
-
addAccounts
Inserts the specifiedAccounts at the end of this course'saccounts list.- Parameters:
accounts- The accounts to add.
-
removeAccount
Removes the first occurrence of the specifiedAccountfrom this course'saccounts list, if it is present.- Parameters:
account- The account to remove.- Returns:
trueif this list contained the specified element,falseotherwise.
-
removeAccounts
Removes the specifiedAccounts from this course'saccounts list, if they are present.- Parameters:
accounts- The accounts to remove.- Returns:
trueif this list was modified as a result of this operation.
-
removeAccount
Removes the account at the specified position in this course'saccounts list.- Parameters:
index- The index of the account to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The account previously at the specified position.
- Throws:
IndexOutOfBoundsException- If the index is out of range.
-
removeAccounts
@NonNull public @NonNull ArrayList<Account> removeAccounts(int... indices) throws IndexOutOfBoundsException Removes the accounts at the specified positions in this course'saccounts list.- Parameters:
indices- The indices of the accounts to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The accounts previously at the specified positions.
- Throws:
IndexOutOfBoundsException- If any of the indices are out of range.
-
clearAccounts
public void clearAccounts()Removes all accounts from this course'saccounts list. -
addSubaccount
Inserts the specifiedSubaccountat the end of this account'ssubaccounts list. -
addSubaccounts
Inserts the specifiedSubaccounts at the end of this account'ssubaccounts list, in the given order. -
removeSubaccount
Removes the first occurrence of the specifiedSubaccountfrom this account'ssubaccounts list, if it is present.- Parameters:
subaccount- The subaccount to remove.- Returns:
trueif this list contained the specified element,falseotherwise.
-
removeSubaccounts
Removes the specifiedSubaccounts from this account'ssubaccounts list, if they are present.- Parameters:
subaccounts- The subaccounts to remove.- Returns:
trueif this list was modified as a result of this operation.
-
removeSubaccount
Removes the subaccount at the specified position in this account'ssubaccounts list.- Parameters:
index- The index of the subaccount to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The subaccount previously at the specified position.
- Throws:
IndexOutOfBoundsException- If the index is out of range.
-
removeSubaccounts
@NonNull public @NonNull ArrayList<Subaccount> removeSubaccounts(int... indices) throws IndexOutOfBoundsException Removes the subaccounts at the specified positions in this account'ssubaccounts list.- Parameters:
indices- The indices of the subaccounts to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The subaccounts previously at the specified positions.
- Throws:
IndexOutOfBoundsException- If any of the indices are out of range.
-
clearSubaccounts
public void clearSubaccounts()Removes all subaccounts from this account'ssubaccounts list. -
addModule
Adds aModuleto the end of this grade table'smodules list.- Parameters:
module- The module to add.
-
addModules
Adds the specifiedModules to the end of this grade table'smodules list.- Parameters:
modules- The modules to add.
-
removeModule
Removes the first occurrence of the specifiedModulefrom this grade table'smodules list, if it is present.- Parameters:
module- The module to remove.- Returns:
trueif this list contained the specified element,falseotherwise.
-
removeModules
Removes the specifiedModules from this grade table'smodules list, if they are present.- Parameters:
modules- The modules to remove.- Returns:
trueif this list was modified as a result of this operation.
-
removeModule
Removes the module at the specified position in this grade table'smodules list.- Parameters:
index- The index of the module to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The module previously at the specified position.
- Throws:
IndexOutOfBoundsException- If the index is out of range.
-
removeModules
@NonNull public @NonNull ArrayList<Module> removeModules(int... indices) throws IndexOutOfBoundsException Removes the modules at the specified positions in this grade table'smodules list.- Parameters:
indices- The indices of the modules to remove. Must be between 0 (inclusive) and the size of the list (exclusive).- Returns:
- The modules previously at the specified positions.
- Throws:
IndexOutOfBoundsException- If any of the indices are out of range.
-
clearModules
public void clearModules()Removes all modules from this grade table'smodules list. -
equals
Checks whether thisGradesTable's fields are equal to their counterparts in the specified object (if it is a GradesTable at all). -
toJSON
Converts thisGradesTableto a JSON string with all fields.- Returns:
- The JSON representation of this object.
- Throws:
com.fasterxml.jackson.core.JsonProcessingException- If the object could not be converted to JSON. SeeObjectMapper.writeValueAsString(Object).
-
saveTo
Writes thisGradesTableto the specified file in JSON format.- Parameters:
file- The file to save this object to. Must exist, not be a directory and be writable.- Throws:
IllegalArgumentException- If the file does not exist, is a directory or is not writable.IOException- If the file could not be written to. SeeWriter.write(String).
-
toString
- Overrides:
toStringin classObject- Returns:
- A string representation of this
GradesTablewith all fields as well as this object'shash code.
-
