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:
ActionTypeService, RemotableAttributeOwner

public class PeopleFlowActionTypeService extends KrmsTypeServiceBase implements 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 Action loadAction(org.kuali.rice.krms.api.repository.action.ActionDefinition actionDefinition)
      Specified by:
      loadAction in interface 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 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 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 -