001    /**
002     * Copyright 2005-2011 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.opensource.org/licenses/ecl2.php
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.rice.krms.api.repository.action;
017    
018    import org.kuali.rice.core.api.mo.common.Identifiable;
019    import org.kuali.rice.core.api.mo.common.Versioned;
020    
021    import java.util.Map;
022    
023    public interface ActionDefinitionContract extends Identifiable, Versioned {
024    
025            /**
026             * This is the name of the Action 
027             *
028             * <p>
029             * name - the name of the Action
030             * </p>
031             * @return the name of the Action
032             */
033            public String getName();
034    
035            /**
036             * This is the namespace of the Action 
037             *
038             * <p>
039             * The namespace of the Action
040             * </p>
041             * @return the namespace of the Action
042             */
043            public String getNamespace();
044    
045        /**
046         * This is the description for what the parameter is used for.  This can be null or a blank string.
047         * @return description
048         */
049            public String getDescription();
050    
051            /**
052             * This is the KrmsType of the Action
053             *
054             * @return id for KRMS type related of the Action
055             */
056            public String getTypeId();
057            
058            /**
059             * This method returns the id of the rule associated with the action
060             * 
061             * @return id for the Rule associated with the action.
062             */
063            public String getRuleId();
064            
065            /**
066             * This method returns the id of the rule associated with the action
067             * 
068             * @return id for the Rule associated with the action.
069             */
070            public Integer getSequenceNumber();
071            
072            /**
073             * This method returns a set of attributes associated with the 
074             * Action.  The attributes are represented as name/value pairs.
075             * 
076             * @return a set of ActionAttribute objects.
077             */
078            public Map<String, String> getAttributes();
079            
080    
081    }