diff --git a/src/main/java/edu/group5/app/model/organization/OrganizationRepo.java b/src/main/java/edu/group5/app/model/organization/OrganizationRepo.java new file mode 100644 index 0000000..850333f --- /dev/null +++ b/src/main/java/edu/group5/app/model/organization/OrganizationRepo.java @@ -0,0 +1,39 @@ +package edu.group5.app.model.organization; + +import edu.group5.app.model.Repository; + +import java.util.HashMap; +import java.util.Objects; + +/** + * Handles business logic associated with organizations + */ +public class OrganizationRepo implements Repository { + private HashMap content; + + /** + * Creates a new Organization Repository + * + * @param content holds all current organizations + * @throws NullPointerException if content is null + */ + public OrganizationRepo(HashMap content) { + this.content = Objects.requireNonNull(content, "content cannot be null"); + } + + public HashMap getContent() { + return content; + } + + public HashMap getTrustedOrganizations() { + HashMap trustedOrgs = new HashMap<>(); + + content.forEach((orgNr, org) -> { + if (org.trusted()) { + trustedOrgs.put(orgNr, org); + } + }); + + return trustedOrgs; + } +}