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.
|
|
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; } */ private int getListSize() { return this.credentials.size(); }
}
|