You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.7 KiB
116 lines
2.7 KiB
import java.util.ArrayList;
|
|
|
|
public class CredentialRepository implements CredentialRepositoryInterface{
|
|
|
|
private int idCounter = 0;
|
|
private ArrayList<Credential> credentials;
|
|
|
|
public CredentialRepository()
|
|
{
|
|
this.credentials = new ArrayList<Credential>();
|
|
}
|
|
|
|
public int createNewCredential(String name, String password)
|
|
{
|
|
try {
|
|
this.credentials.add(new Credential(name, password, this.idCounter++));
|
|
}
|
|
catch(Exception fail)
|
|
{
|
|
System.err.println(fail.getMessage());
|
|
}
|
|
|
|
return this.getListSize();
|
|
}
|
|
|
|
@Override
|
|
public Credential getCredentialsViaName(String needle) {
|
|
|
|
for(int c = 0; c < this.getListSize(); c++)
|
|
{
|
|
Credential credential = this.credentials.get(c);
|
|
|
|
if(credential.getName().equals(needle))
|
|
return credential;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
|
|
@Override
|
|
public Credential getCredentialsViaId(int id) {
|
|
|
|
try{
|
|
return this.credentials.get(id);
|
|
}
|
|
catch (IndexOutOfBoundsException outOfBoundsException)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
}
|
|
|
|
/*
|
|
The next 3 functions assume you already have successfully
|
|
pulled a credential from the repository and now want to edit it.
|
|
Thus, these functions require you to pass the desired credential's index
|
|
*/
|
|
|
|
|
|
@Override
|
|
public void updatePassword(int index, String newPassword) {
|
|
|
|
try{
|
|
this.credentials.get(index).upDatePassword(newPassword);
|
|
}
|
|
catch (IndexOutOfBoundsException outOfBoundsException)
|
|
{
|
|
System.err.println("No Credential with Index" + index + " found");
|
|
}
|
|
|
|
}
|
|
|
|
public void updateUsername(int index, String newUsername){
|
|
|
|
try{
|
|
this.credentials.get(index).updateUsername(newUsername);
|
|
}
|
|
catch (IndexOutOfBoundsException outOfBoundsException)
|
|
{
|
|
System.err.println("No Credential with Index" + index + " found");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void delete(int index) {
|
|
|
|
this.credentials.remove(index);
|
|
|
|
}
|
|
|
|
/*
|
|
this function will be required in the future for catching the left-shift in the arrayList
|
|
after one entry was deleted. welp, maybe it won't. can't tell and i've no time atm to
|
|
finish this
|
|
|
|
|
|
private int mapIndexToListCounter(int needle) {
|
|
for(int c = 0; c<this.credentials.size(); c++)
|
|
{
|
|
if(this.credentials.get(c).getId() == needle)
|
|
{
|
|
return c;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
*/
|
|
public int getListSize()
|
|
{
|
|
return this.credentials.size();
|
|
}
|
|
|
|
}
|
|
|
|
|