Skip to content

Commit 4e4d422

Browse files
committed
Implemented the "getList" method of the interface "IRetrieveList", this is yet to be tested.
1 parent 657a108 commit 4e4d422

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

src/main/java/IRetrieveList.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import java.util.List;
2+
3+
public interface IRetrieveList {
4+
List<User> getList();
5+
}

src/main/java/UserDatabase.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import java.io.*;
2-
import java.util.Scanner;
3-
public class UserDatabase implements UserExists, UserRetriever, UserCreator{
2+
import java.util.ArrayList;
3+
import java.util.List;
4+
public class UserDatabase implements UserExists, UserRetriever, UserCreator, IRetrieveList{
45
File accounts;
56
public UserDatabase(File accounts){
67
this.accounts = accounts;
@@ -64,4 +65,20 @@ public User getUser(String username) {
6465
}
6566
return user;
6667
}
68+
//Returns an ArrayList with the users that is extracted from the file, so that other objects can use this list.
69+
@Override
70+
public List<User> getList() {
71+
List<User> users = new ArrayList<>();
72+
try(FileInputStream fileIn = new FileInputStream(accounts);
73+
ObjectInputStream in = new ObjectInputStream(fileIn)){
74+
User user = (User) in.readObject();
75+
while(user != null){
76+
users.add(user);
77+
user = (User)in.readObject();
78+
}
79+
}catch(Exception e){
80+
e.printStackTrace();
81+
}
82+
return users;
83+
}
6784
}

0 commit comments

Comments
 (0)