001    /**
002     * Copyright 2005-2012 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.kew.api.rule;
017    
018    import org.kuali.rice.core.api.mo.common.GloballyUnique;
019    import org.kuali.rice.core.api.mo.common.Identifiable;
020    import org.kuali.rice.core.api.mo.common.Versioned;
021    
022    import java.util.List;
023    
024    public interface RuleResponsibilityContract extends Identifiable, GloballyUnique, Versioned {
025    
026    
027        /**
028         * Unique Id for Responsibility.
029         *
030         * <p>
031         * This is the unique Id of the Responsibility
032         * </p>
033         *
034         * @return responsibilityId
035         */
036        String getResponsibilityId();
037    
038        /**
039         * code for the Action Requested
040         *
041         * <p>
042         * This code matches the unique code for an ActionRequest
043         * </p>
044         *
045         * @return actionRequestedCd
046         */
047        String getActionRequestedCd();
048    
049        /**
050         * integer representation of the priority of the RuleResponsibility
051         *
052         * @return priority
053         */
054        Integer getPriority();
055    
056        /**
057         * approval policy for the RuleResponsibility
058         *
059         * @return approvalPolicy
060         */
061        String getApprovePolicy();
062    
063        /**
064         * unique id of the Principal for the RuleResponsibility
065         *
066         * @return principalId
067         */
068        String getPrincipalId();
069    
070        /**
071         * unique id of the Group for the RuleResponsibility
072         *
073         * @return groupId
074         */
075        String getGroupId();
076    
077        /**
078         * unique name of the Role for the RuleResponsibility
079         *
080         * @return groupId
081         */
082        String getRoleName();
083    
084        /**
085         * list of RuleDelegations for the RuleResponsibility
086         *
087         * @return delegationRules
088         */
089        List<? extends RuleDelegationContract> getDelegationRules();
090    
091        /**
092         * determines if the RuleResponsibiltity is using a kim Role
093         *
094         * @return boolean value representing if the RuleResponsibility is using a Role
095         */
096        boolean isUsingRole();
097    
098        /**
099         * determines if the RuleResponsibiltity is using a kim Principal
100         *
101         * @return boolean value representing if the RuleResponsibility is using a Principal
102         */
103        boolean isUsingPrincipal();
104    
105        /**
106         * determines if the RuleResponsibiltity is using a kim Group
107         *
108         * @return boolean value representing if the RuleResponsibility is using a Group
109         */
110        boolean isUsingGroup();
111    }