Applications getApplications(ApplicationFilter filter) { Applications apps = new Applications(); synchronized (appSet) { Iterator<Application> iterator = appSet.iterator(); while (iterator.hasNext()) { Application app = iterator.next(); if (!filter.pass(app)) continue; apps.add(app); } return apps; } }
public Applications getApplicationsByJobPosting(JobPosting jobPosting) { ApplicationFilter filter = new ApplicationFilter(); filter = filter.byJobPosting(jobPosting); return getApplications(filter); }