/* * ome.conditions.CollectedACLViolations * * Copyright 2006 University of Dundee. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.conditions.acl; import java.util.ArrayList; import java.util.List; import ome.model.internal.Permissions; /** * User has attempted an action which is not permitted by the * {@link Permissions} of a given instance. * * @author Josh Moore      <a * href="mailto:josh.moore@gmx.de">josh.moore@gmx.de</a> * @version 2.5 * @since 2.5 */ public class CollectedACLViolations extends ome.conditions.SecurityViolation { /** * */ private static final long serialVersionUID = -340834454556786566L; private List<ACLViolation> violations; public CollectedACLViolations(String msg) { super(msg); } public void addViolation(ACLViolation v) { if (null == violations) { violations = new ArrayList<ACLViolation>(); } violations.add(v); } @Override public String getMessage() { int size = super.getMessage().length() * violations.size(); StringBuilder sb = new StringBuilder(size); sb.append(super.getMessage()); sb.append("\n"); for (int i = 0; i < violations.size(); i++) { sb.append("\t"); sb.append("("); sb.append(Integer.toString(i)); sb.append(") "); sb.append(violations.get(i).getMessage()); sb.append("\n"); } return sb.toString(); } }