Class PeopleFlowActionTypeService

java.lang.Object
org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase
org.kuali.rice.krms.impl.type.KrmsTypeServiceBase
org.kuali.rice.krms.impl.peopleflow.PeopleFlowActionTypeService
All Implemented Interfaces:
org.kuali.rice.krms.framework.type.ActionTypeService, org.kuali.rice.krms.framework.type.RemotableAttributeOwner

public class PeopleFlowActionTypeService extends KrmsTypeServiceBase implements org.kuali.rice.krms.framework.type.ActionTypeService

ActionTypeService implementation for PeopleFlow actions. The loaded Actions will place or extend an attribute in the EngineResults whose key is "peopleFlowSelected" and value is a String of the form (using EBNF-like notation):

    (notification|approval):<peopleFlowId>{,(notification|approval):<peopleFlowId>}

An example value with two people flow actions specified would be:

    "A:1000,F:1001"
  • Field Details

  • Constructor Details

  • Method Details

    • getInstance

      Factory method for getting a PeopleFlowActionTypeService
      Parameters:
      type - indicates the type of action that the returned PeopleFlowActionTypeService will produce
      Returns:
      a PeopleFlowActionTypeService corresponding to the given PeopleFlowActionTypeService.Type.
    • setConfigurationService

      public void setConfigurationService(org.kuali.rice.core.api.config.property.ConfigurationService configurationService)
      inject the ConfigurationService to use internally.
      Parameters:
      configurationService -
    • loadAction

      public org.kuali.rice.krms.framework.engine.Action loadAction(org.kuali.rice.krms.api.repository.action.ActionDefinition actionDefinition)
      Specified by:
      loadAction in interface org.kuali.rice.krms.framework.type.ActionTypeService
      Parameters:
      actionDefinition -
      Returns:
      Action as defined by the given ActionDefinition
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException - is actionDefinition is null, attributes do not contain the ATTRIBUTE_FIELD_NAME key, or the NAME_ATTRIBUTE_FIELD key.
    • translateTypeAttribute

      public org.kuali.rice.core.api.uif.RemotableAttributeField translateTypeAttribute(org.kuali.rice.krms.api.repository.type.KrmsTypeAttribute inputAttribute, org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition)
      Description copied from class: KrmsTypeServiceBase
      Translate a KrmsTypeAttribute into a RemotableAttributeField. Override this method to provide custom translation of certain attributes.
      Overrides:
      translateTypeAttribute in class KrmsTypeServiceBase
      Parameters:
      inputAttribute - the KrmsTypeAttribute to translate
      attributeDefinition - the KrmsAttributeDefinition for the given inputAttribute
      Returns:
      a RemotableAttributeField for the given inputAttribute
    • validateAttributes

      public List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributes(String krmsTypeId, Map<String,String> attributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Attributes must include a ATTRIBUTE_FIELD_NAME
      Specified by:
      validateAttributes in interface org.kuali.rice.krms.framework.type.RemotableAttributeOwner
      Overrides:
      validateAttributes in class KrmsTypeServiceBase
      Parameters:
      krmsTypeId - the people flow type identifier. Must not be null or blank.
      attributes - the attributes to validate. Cannot be null.
      Returns:
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException - if required attribute ATTRIBUTE_FIELD_NAME is not in the given attributes
    • validateAttributesAgainstExisting

      public List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributesAgainstExisting(String krmsTypeId, Map<String,String> newAttributes, Map<String,String> oldAttributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Specified by:
      validateAttributesAgainstExisting in interface org.kuali.rice.krms.framework.type.RemotableAttributeOwner
      Overrides:
      validateAttributesAgainstExisting in class KrmsTypeServiceBase
      Throws:
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getPeopleFlowService

      public org.kuali.rice.kew.api.peopleflow.PeopleFlowService getPeopleFlowService()
      Returns:
      the configured PeopleFlowService
    • setPeopleFlowService

      public void setPeopleFlowService(org.kuali.rice.kew.api.peopleflow.PeopleFlowService peopleFlowService)
      inject the PeopleFlowService to use internally.
      Parameters:
      peopleFlowService -