1 /** 2 * Copyright 2005-2013 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.rice.krms.api.repository.action; 17 18 import org.kuali.rice.core.api.mo.common.Identifiable; 19 import org.kuali.rice.core.api.mo.common.Versioned; 20 21 import java.util.Map; 22 23 /** 24 * Defines the contract for an {@link ActionDefinition} 25 * 26 * @see ActionDefinition 27 * @see org.kuali.rice.krms.framework.engine.Action 28 * 29 * @author Kuali Rice Team (rice.collab@kuali.org) 30 */ 31 public interface ActionDefinitionContract extends Identifiable, Versioned { 32 33 /** 34 * Returns the name of the Action 35 * 36 * <p> 37 * name - the name of the Action 38 * </p> 39 * @return the name of the Action 40 */ 41 public String getName(); 42 43 /** 44 * Returns the namespace of the Action 45 * 46 * <p> 47 * The namespace of the Action 48 * </p> 49 * @return the namespace of the Action 50 */ 51 public String getNamespace(); 52 53 /** 54 * Returns the description for what the parameter is used for. This can be null or a blank string. 55 * 56 * @return the description of the Action 57 */ 58 public String getDescription(); 59 60 /** 61 * Returns the KrmsType of the Action 62 * 63 * @return id for KRMS type related of the Action 64 */ 65 public String getTypeId(); 66 67 /** 68 * Returns the id of the rule associated with the action 69 * 70 * @return id for the Rule associated with the action. 71 */ 72 public String getRuleId(); 73 74 /** 75 * Returns the sequence number of the action 76 * 77 * @return sequence number of the action. 78 */ 79 public Integer getSequenceNumber(); 80 81 /** 82 * Returns a set of attributes associated with the 83 * Action. The attributes are represented as name/value pairs. 84 * 85 * @return a set of ActionAttribute objects. 86 */ 87 public Map<String, String> getAttributes(); 88 89 90 }