001    package org.kuali.rice.krms.api.repository.action;
002    
003    import org.kuali.rice.core.api.mo.common.Identifiable;
004    import org.kuali.rice.core.api.mo.common.Versioned;
005    
006    import java.util.Map;
007    
008    public interface ActionDefinitionContract extends Identifiable, Versioned {
009    
010            /**
011             * This is the name of the Action 
012             *
013             * <p>
014             * name - the name of the Action
015             * </p>
016             * @return the name of the Action
017             */
018            public String getName();
019    
020            /**
021             * This is the namespace of the Action 
022             *
023             * <p>
024             * The namespace of the Action
025             * </p>
026             * @return the namespace of the Action
027             */
028            public String getNamespace();
029    
030        /**
031         * This is the description for what the parameter is used for.  This can be null or a blank string.
032         * @return description
033         */
034            public String getDescription();
035    
036            /**
037             * This is the KrmsType of the Action
038             *
039             * @return id for KRMS type related of the Action
040             */
041            public String getTypeId();
042            
043            /**
044             * This method returns the id of the rule associated with the action
045             * 
046             * @return id for the Rule associated with the action.
047             */
048            public String getRuleId();
049            
050            /**
051             * This method returns the id of the rule associated with the action
052             * 
053             * @return id for the Rule associated with the action.
054             */
055            public Integer getSequenceNumber();
056            
057            /**
058             * This method returns a set of attributes associated with the 
059             * Action.  The attributes are represented as name/value pairs.
060             * 
061             * @return a set of ActionAttribute objects.
062             */
063            public Map<String, String> getAttributes();
064            
065    
066    }