Untitled

 avatar
unknown
java
3 years ago
2.8 kB
3
Indexable
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Stack;
import java.util.List;

public class Student implements Borrower {

    private String UID;
    private String firstName;
    private String lastName;
    private MyDate joinDate;
    private String department;
    StudentSnapshot s;
    
    public static ArrayList<Borrower> students = new ArrayList<Borrower>();

    public Student() {
        
    }

    public Borrower setUID(String UID) {
        this.UID = UID;
        s.snapshot();
        return this;
    }
    public Borrower setFirstName(String firstName) {
        this.firstName = firstName;
        s.snapshot();
        return this;
    }
    public Borrower setLastName(String lastName) {
        this.lastName = lastName;
        s.snapshot();
        return this;
    }
    public Borrower setJoinDate(MyDate joinDate) {
        this.joinDate = joinDate;
        s.snapshot();
        return this;
    }

    public Borrower setDepartment(String department) {
        this.department = department;
        s.snapshot();
        return this;
    }

    public void add(Borrower s) {
        students.add(s);
    }

    public String getUID() {
        return this.UID;
    }

    public String getFirstName() {
        return this.firstName;
    }

    public String getLastName() {
        return this.lastName;
    }

    public MyDate getJoinDate() {
        return this.joinDate;
    }

    public String getDepartment() {
        return this.department;
    }

    public static void printArr() {
        for (Borrower student : students) {
            System.out.println(student);
        }
    }

    public static boolean checkRegistered(String UID) {
        for (Borrower student : students) {
            if (UID.equals(student.getUID())) {
                return true;
            }
        }
        return false;
    }

    @Override
    public String toString() {
        return "{" +
            " UID='" + getUID() + "'" +
            ", firstName='" + getFirstName() + "'" +
            ", lastName='" + getLastName() + "'" +
            ", joinDate='" + getJoinDate() + "'" +
            ", department='" + getDepartment() + "'" +
            "}";
    }
}

class StudentSnapshot { 
    private String UID;
    private String firstName;
    private String lastName;
    private MyDate joinDate;
    private String department;
    List <Object> dll = new LinkedList<Object> ();

    public void snapshot(){
        Student s = new Student();
        s.setUID(this.UID);
        s.setFirstName(this.firstName);
        s.setLastName(this.lastName);
        s.setJoinDate(this.joinDate);
        s.setDepartment(this.department);
    }
    public void undo(){
        Student snap = dll.head;
        this.UID = snap.UID;

    }
}
Editor is loading...