1 package org.kuali.rice.kew.api.rule; 2 3 import org.joda.time.DateTime; 4 5 import java.util.List; 6 import java.util.Map; 7 8 public interface RuleContract { 9 /** 10 * Unique Id for Template of Rule. 11 * 12 * <p> 13 * This is the unique Id of the rule template of the rule 14 * </p> 15 * 16 * @return ruleTemplateId 17 */ 18 String getRuleTemplateId(); 19 20 /** 21 * The active indicator for the rule. 22 * 23 * @return true if active false if not. 24 */ 25 boolean isActive(); 26 27 /** 28 * The description of the rule. 29 * 30 * @return description 31 */ 32 String getDescription(); 33 34 /** 35 * The documentTypeName of the rule. 36 * 37 * @return documentTypeName 38 */ 39 String getDocTypeName(); 40 41 /** 42 * The ending date of the rule. 43 * 44 * <p>This is the date from which the rule stops being be used</p> 45 * 46 * @return fromDate 47 */ 48 DateTime getFromDate(); 49 50 /** 51 * The ending date of the rule. 52 * 53 * <p>This is the date from which the rule starts to be used</p> 54 * 55 * @return toDate 56 */ 57 DateTime getToDate(); 58 59 /** 60 * Shows if rule will force its action. 61 * 62 * @return boolean value representing if action is forced 63 */ 64 boolean isForceAction(); 65 66 /** 67 * List of rule responsibilities associated with the Rule 68 * 69 * @return ruleResponsibilities 70 */ 71 List<? extends RuleResponsibilityContract> getRuleResponsibilities(); 72 73 /** 74 * rule Extensions are a key, value representation provided in a Map that extend a normal Rule 75 * 76 * @return ruleExtensions 77 */ 78 Map<String, String> getRuleExtensions(); 79 80 /** 81 * Template Name of the Rule. 82 * 83 * <p> 84 * This is the name of the rule template for the rule 85 * </p> 86 * 87 * @return ruleTemplateName 88 */ 89 String getRuleTemplateName(); 90 }