1 /* 2 * The Kuali Financial System, a comprehensive financial management system for higher education. 3 * 4 * Copyright 2005-2014 The Kuali Foundation 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Affero General Public License as 8 * published by the Free Software Foundation, either version 3 of the 9 * License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Affero General Public License for more details. 15 * 16 * You should have received a copy of the GNU Affero General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 package org.kuali.kfs.sys.document.validation.event; 20 21 import org.kuali.rice.krad.rules.rule.event.KualiDocumentEvent; 22 23 /** 24 * An interface that allows rules to add attribues to an event as it is processed. 25 */ 26 public interface AttributedDocumentEvent extends KualiDocumentEvent { 27 /** 28 * Retrieves a named attribute from the event. 29 * @param attributeName the name of the attribute to retrieve 30 * @return the attribute's value, or null if no attribute with the given name was found. 31 */ 32 public abstract Object getAttribute(String attributeName); 33 /** 34 * Sets the value of a named attribute on the event. 35 * @param attributeName the name of the attribute to set 36 * @param attributeValue the value of the named attribute 37 */ 38 public abstract void setAttribute(String attributeName, Object attributeValue); 39 40 /** 41 * This sets an iteration subject in the case of this event going through a CollectionValidation 42 * @param iterationSubject the current subject of the CollectionValidation's iteration through a collection 43 */ 44 public abstract void setIterationSubject(Object iterationSubject); 45 46 /** 47 * If event is going through a collection validation, this will return the current subject of the iteration through the collection 48 * @return a subject to a CollectionValidation's iteration through a collection 49 */ 50 public abstract Object getIterationSubject(); 51 }