Package org.kuali.rice.kew.rule
Class GenericRoleAttribute
java.lang.Object
org.kuali.rice.kew.rule.AbstractWorkflowAttribute
org.kuali.rice.kew.rule.GenericWorkflowAttribute
org.kuali.rice.kew.rule.GenericRoleAttribute
- All Implemented Interfaces:
Serializable,RoleAttribute,WorkflowRuleAttribute
- Direct Known Subclasses:
ChannelReviewerRoleAttribute
public abstract class GenericRoleAttribute
extends GenericWorkflowAttribute
implements RoleAttribute
Generic base class that implements common functionality to simplify implementing
a RoleAttribute. This includes a standard qualified role name String format and simplified
template methods, as well as a generic attribute content model.
Control flow:
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
- See Also:
-
Field Summary
Fields inherited from class org.kuali.rice.kew.rule.GenericWorkflowAttribute
attributeName, content, logFields inherited from class org.kuali.rice.kew.rule.AbstractWorkflowAttribute
required -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<QualifiedRoleName> generateQualifiedRoleNames(String roleName, DocumentContent documentContent) Template method responsible for producing a list of QualifiedRoleName objects.protected StringgetLabelForQualifiedRoleName(QualifiedRoleName qualifiedRoleName) getQualifiedRoleNames(String roleName, DocumentContent documentContent) Returns a String which represent the qualified role name of this role for the given roleName and docContent.getRoleNameQualifiers(String roleName, DocumentContent documentContent) Template method responsible for producing qualifiers for a role namebooleanisMatch(DocumentContent docContent, List<org.kuali.rice.kew.api.rule.RuleExtension> ruleExtensions) Returns true if this Attribute finds a match in the given DocContent.resolveQualifiedRole(RouteContext routeContext, String roleName, String qualifiedRoleName) Returns a List of Workflow Users which are members of the given qualified role.protected ResolvedQualifiedRoleresolveQualifiedRole(RouteContext routeContext, QualifiedRoleName qualifiedRoleName) Template method that delegates toresolveRecipients(RouteContext, QualifiedRoleName)andinvalid input: ''protected List<org.kuali.rice.kew.api.identity.Id> resolveRecipients(RouteContext routeContext, QualifiedRoleName qualifiedRoleName) Template method for subclasses to implementMethods inherited from class org.kuali.rice.kew.rule.GenericWorkflowAttribute
getDocContent, getProperties, getRuleExtensionValues, isMatch, isMatch, validateRoutingData, validateRuleDataMethods inherited from class org.kuali.rice.kew.rule.AbstractWorkflowAttribute
getIdFieldName, getLockFieldName, getRoutingDataRows, getRuleRows, isRequired, setRequiredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.kuali.rice.kew.rule.RoleAttribute
getRoleNamesMethods inherited from interface org.kuali.rice.kew.rule.WorkflowRuleAttribute
getDocContent, getRoutingDataRows, getRuleExtensionValues, getRuleRows, isRequired, setRequired, validateRoutingData, validateRuleData
-
Constructor Details
-
GenericRoleAttribute
public GenericRoleAttribute() -
GenericRoleAttribute
-
-
Method Details
-
isMatch
public boolean isMatch(DocumentContent docContent, List<org.kuali.rice.kew.api.rule.RuleExtension> ruleExtensions) Description copied from interface:WorkflowRuleAttributeReturns true if this Attribute finds a match in the given DocContent. If true, the associated document will be routed to the users specifed by the UNF The isMatch method is responsible for determining whether content in a document matches content saved in workflow, thus determining whether to fire a rule or not. The isMatch method takes a DocumentContent object and a list of rule extension objects and returns a Boolean. The DocumentContent object contains the data in XML format that will be compared with the rules saved in workflow. Rule extension objects come from a potential rule that may match the document content on this eDoc. The potential rule is selected based on the Document Type and Rule Templates associated with this eDoc. Each rule extension object contains a list of rule extension value objects which have the data we will use in key value format to compare to the document content. The key will be determined by a unique string assigned by this attribute. The Value is determined when a rule is created and data is entered for the particular key. If a match is found, this method returns true and the eDoc will be routed based on this rule. If no match is found, the method returns false and the eDoc will not be routed based on this rule.- Specified by:
isMatchin interfaceWorkflowRuleAttribute- Overrides:
isMatchin classGenericWorkflowAttribute
-
getQualifiedRoleNames
Description copied from interface:RoleAttributeReturns a String which represent the qualified role name of this role for the given roleName and docContent.- Specified by:
getQualifiedRoleNamesin interfaceRoleAttribute- Parameters:
roleName- the role name (without class prefix)documentContent- the document content
-
generateQualifiedRoleNames
protected List<QualifiedRoleName> generateQualifiedRoleNames(String roleName, DocumentContent documentContent) Template method responsible for producing a list of QualifiedRoleName objects. Default implementation callsgetRoleNameQualifiers(String, DocumentContent) -
getRoleNameQualifiers
Template method responsible for producing qualifiers for a role name -
resolveQualifiedRole
public ResolvedQualifiedRole resolveQualifiedRole(RouteContext routeContext, String roleName, String qualifiedRoleName) Description copied from interface:RoleAttributeReturns a List of Workflow Users which are members of the given qualified role.- Specified by:
resolveQualifiedRolein interfaceRoleAttribute- Parameters:
routeContext- the RouteContextroleName- the roleName (without class prefix)qualifiedRoleName- one of the the qualified role names returned from theRoleAttribute.getQualifiedRoleNames(String, DocumentContent)method- Returns:
- ResolvedQualifiedRole containing recipients, role label (most likely the roleName), and an annotation
-
resolveQualifiedRole
protected ResolvedQualifiedRole resolveQualifiedRole(RouteContext routeContext, QualifiedRoleName qualifiedRoleName) Template method that delegates toresolveRecipients(RouteContext, QualifiedRoleName)andinvalid input: '' -
getLabelForQualifiedRoleName
-
resolveRecipients
protected List<org.kuali.rice.kew.api.identity.Id> resolveRecipients(RouteContext routeContext, QualifiedRoleName qualifiedRoleName) Template method for subclasses to implement
-