001 /*
002 * Copyright 2005-2008 The Kuali Foundation
003 *
004 *
005 * Licensed under the Educational Community License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.opensource.org/licenses/ecl2.php
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package org.kuali.rice.kew.rule.service;
018
019 import java.util.Collection;
020 import java.util.List;
021 import java.util.Map;
022
023 import org.kuali.rice.kew.rule.RuleDelegation;
024 import org.kuali.rice.kew.xml.XmlLoader;
025 import org.kuali.rice.kew.xml.export.XmlExporter;
026
027 /**
028 * A service providing data access for {@link RuleDelegation}s.
029 *
030 * @see RuleDelegation
031 *
032 * @author Kuali Rice Team (rice.collab@kuali.org)
033 */
034 public interface RuleDelegationService extends XmlLoader, XmlExporter {
035
036 public List findByDelegateRuleId(Long ruleId);
037 public void save(RuleDelegation ruleDelegation);
038 public void delete(Long ruleDelegationId);
039 public List findAllCurrentRuleDelegations();
040 public RuleDelegation findByRuleDelegationId(Long ruleDelegationId);
041 public List<RuleDelegation> search(String parentRuleBaseVaueId, String parentResponsibilityId, String docTypeName, Long ruleId, Long ruleTemplateId, String ruleDescription, String groupId, String principalId, String delegationType, Boolean activeInd, Map extensionValues, String workflowIdDirective);
042 public List<RuleDelegation> search(String parentRuleBaseVaueId, String parentResponsibilityId, String docTypeName, String ruleTemplateName, String ruleDescription, String groupId, String principalId, Boolean workgroupMember, String delegationType, Boolean activeInd, Map extensionValues, Collection<String> actionRequestCodes);
043 /**
044 * Returns a List of all RuleDelegations with "current" Rules for the given
045 * responsibility id.
046 */
047 public List<RuleDelegation> findByResponsibilityId(Long responsibilityId);
048
049
050 public void flushRuleDlgnCache();
051
052 }