Implemented UI, fixed serialization inconsistency

This commit is contained in:
2023-09-25 19:00:21 +03:00
parent 338ed053e3
commit 24d671f765
19 changed files with 365 additions and 153 deletions

View File

@@ -0,0 +1,56 @@
package org.lumijiez.base;
import org.lumijiez.enums.StudyField;
import java.util.List;
public class Faculty {
public Faculty(String name, String abbreviation, StudyField field) {
this.name = name;
this.abbreviation = abbreviation;
this.field = field;
}
private String name;
private String abbreviation;
private List<Group> groups;
private StudyField field;
public void addGroup(Group group) {
groups.add(group);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAbbreviation() {
return abbreviation;
}
public void setAbbreviation(String abbreviation) {
this.abbreviation = abbreviation;
}
public List<Group> getGroups() {
return groups;
}
public void setGroups(List<Group> groups) {
this.groups = groups;
}
public StudyField getField() {
return field;
}
public void setField(StudyField field) {
this.field = field;
}
}

View File

@@ -3,8 +3,16 @@ package org.lumijiez.base;
import java.io.Serializable;
public class Grade implements Serializable {
private final String subject;
private final int grade;
private String subject;
private int grade;
public void setSubject(String subject) {
this.subject = subject;
}
public void setGrade(int grade) {
this.grade = grade;
}
public Grade(String subject, int grade) {
this.subject = subject;

View File

@@ -5,8 +5,27 @@ import java.util.ArrayList;
import java.util.List;
public class Group implements Serializable {
private final String name;
private final List<Student> students = new ArrayList<>();
private String name;
private Faculty faculty;
public void setName(String name) {
this.name = name;
}
public Faculty getFaculty() {
return faculty;
}
public void setFaculty(Faculty faculty) {
this.faculty = faculty;
}
public void setStudents(List<Student> students) {
this.students = students;
}
private List<Student> students = new ArrayList<>();
public Group(String name) {
this.name = name;
@@ -19,6 +38,7 @@ public class Group implements Serializable {
public void addStudent(Student st) {
students.add(st);
}
public void deleteStudent(Student st) {
students.remove(st);
}
@@ -28,11 +48,10 @@ public class Group implements Serializable {
}
public Student getStudent(String name, String surname) {
for (Student student : students) {
for (Student student : students)
if (student.getName().equals(name) && student.getSurname().equals(surname)) {
return student;
}
}
return null;
}
}

View File

@@ -1,25 +0,0 @@
package org.lumijiez.base;
public class NameSurnameGroup {
private final String name;
private final String surname;
private final String groupName;
public NameSurnameGroup(String name, String surname, String groupName) {
this.name = name;
this.surname = surname;
this.groupName = groupName;
}
public String name() {
return name;
}
public String surname() {
return surname;
}
public String group() {
return groupName;
}
}

View File

@@ -2,13 +2,31 @@ package org.lumijiez.base;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Student implements Serializable {
private final String name;
private final String surname;
private final String fullname;
private String name;
private String surname;
private String fullname;
private String email;
private Date enrollmentDate;
private Date dateOfBirth;
// Student stores a reference to its own Group and Faculty, bidirectional association
private Group group;
public Faculty getFaculty() {
return faculty;
}
public void setFaculty(Faculty faculty) {
this.faculty = faculty;
}
private Faculty faculty;
private final List<Grade> grades = new ArrayList<>();
public Student(String name, String surname, Group group) {
@@ -31,6 +49,7 @@ public class Student implements Serializable {
public void addGrade(Grade grade) {
grades.add(grade);
}
public String getName() {
return name;
}
@@ -43,8 +62,44 @@ public class Student implements Serializable {
return fullname;
}
public String getEmail() {
return email;
}
public Date getEnrollmentDate() {
return enrollmentDate;
}
public Date getDateOfBirth() {
return dateOfBirth;
}
public Group getGroup() {
return group;
}
public void setName(String name) {
this.name = name;
}
public void setSurname(String surname) {
this.surname = surname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public void setEmail(String email) {
this.email = email;
}
public void setEnrollmentDate(Date enrollmentDate) {
this.enrollmentDate = enrollmentDate;
}
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
}