package eu.dnetlib.iis.wf.importer.infospace.approver; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import eu.dnetlib.data.proto.OafProtos.Oaf; /** * Complex approver encapsulating multiple approvers. * * @author mhorst * */ public class ComplexApprover implements ResultApprover { private final List<ResultApprover> approvers; // ------------------------ CONSTRUCTORS -------------------------- public ComplexApprover() { this.approvers = new ArrayList<ResultApprover>(); } public ComplexApprover(ResultApprover... approvers) { this.approvers = Arrays.asList(approvers); } // ------------------------ LOGIC -------------------------- @Override public boolean approve(Oaf oaf) { for (ResultApprover approver : approvers) { if (!approver.approve(oaf)) { return false; } } return true; } }