Interface KimTypeService

All Known Subinterfaces:
DelegationTypeService, GroupTypeService, PermissionTypeService, ResponsibilityTypeService, RoleTypeService

public interface KimTypeService
This is the base service interface for handling type-specific behavior. Types can be attached to various objects (currently groups and roles) in KIM to add additional attributes and modify their behavior.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • getWorkflowDocumentTypeName

      String getWorkflowDocumentTypeName()
      Gets the name of a workflow document type that should be passed to kew when resolving responsibilities for routing. This name will be passed as a qualifier with the "documentTypeName" key. return null to indicate that there is no custom workflow document needed for this type.
      Returns:
      the doc type name or null.
    • getWorkflowRoutingAttributes

      List<String> getWorkflowRoutingAttributes(String nodeName) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Gets an unmodifiable list of attribute names identifying the attribute qualifiers that are provided to the KIM responsibility service when resolving responsibility-based routing at the node with the given name. Returns an empty list, indicating that no attributes from this type should be passed to workflow.
      Parameters:
      nodeName - the name of the node to retrieve attribute names for. Cannot be null or blank.
      Returns:
      an unmodifiable list should not return null.
      Throws:
      IllegalArgumentException - if the nodeName is null or blank.
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • getAttributeDefinitions

      List<org.kuali.rice.kim.api.type.KimAttributeField> getAttributeDefinitions(String kimTypeId) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      Gets a List of KimAttributeField for a kim type id. The order of the attribute fields in the list can be used as a hint to a ui framework consuming these attributes as to how to organize these fields.
      Parameters:
      kimTypeId - the kimTypeId to retrieve fields for. Cannot be null or blank.
      Returns:
      an immutable list of KimAttributeField. Will not return null.
      Throws:
      IllegalArgumentException - if the kimTypeId is null or blank
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • validateAttributes

      List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributes(String kimTypeId, Map<String,String> attributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      This method validates the passed in attributes for a kimTypeId generating a List of RemotableAttributeError. The order of the attribute errors in the list can be used as a hint to a ui framework consuming these errors as to how to organize these errors.
      Parameters:
      kimTypeId - the kimTypeId that is associated with the attributes. Cannot be null or blank.
      attributes - the kim type attributes to validate. Cannot be null.
      Returns:
      an immutable list of RemotableAttributeError. Will not return null.
      Throws:
      IllegalArgumentException - if the kimTypeId is null or blank or the attributes are null
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • validateAttributesAgainstExisting

      List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributesAgainstExisting(String kimTypeId, Map<String,String> newAttributes, Map<String,String> oldAttributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      This method validates the passed in attributes for a kimTypeId generating a List of RemotableAttributeError. This method used the oldAttributes to aid in validation. This is useful for validating "new" or "updated" attributes. The order of the attribute errors in the list can be used as a hint to a ui framework consuming these errors as to how to organize these errors.
      Parameters:
      kimTypeId - the kimTypeId that is associated with the attributes. Cannot be null or blank.
      newAttributes - the kim type attributes to validate. Cannot be null.
      oldAttributes - the old kim type attributes to use for validation. Cannot be null.
      Returns:
      an immutable list of RemotableAttributeError. Will not return null.
      Throws:
      IllegalArgumentException - if the kimTypeId is null or blank or the newAttributes or oldAttributes are null
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • validateUniqueAttributes

      List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateUniqueAttributes(String kimTypeId, Map<String,String> newAttributes, Map<String,String> oldAttributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      This method validates the passed in attributes for a kimTypeId generating a List of RemotableAttributeError. This method used the oldAttributes to aid in validation. This method specifically determines if attributes should be unique and verifying them against other attributes that have been set to determine uniqueness The order of the attribute errors in the list can be used as a hint to a ui framework consuming these errors as to how to organize these errors.
      Parameters:
      kimTypeId - the kimTypeId that is associated with the attributes. Cannot be null or blank.
      newAttributes - the kim type attributes to validate. Cannot be null.
      oldAttributes - the old kim type attributes to use for validation. Cannot be null.
      Returns:
      an immutable list of RemotableAttributeError. Will not return null.
      Throws:
      IllegalArgumentException - if the kimTypeId is null or blank or the newAttributes or oldAttributes are null
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException
    • validateUnmodifiableAttributes

      List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateUnmodifiableAttributes(String kimTypeId, Map<String,String> originalAttributes, Map<String,String> newAttributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException
      This method validates the passed in attributes for a kimTypeId generating a List of RemotableAttributeError. This method used the oldAttributes to aid in validation. This method specifically validates that the new attribute values have not been changed if they are unmodifiable. The order of the attribute errors in the list can be used as a hint to a ui framework consuming these errors as to how to organize these errors.
      Parameters:
      kimTypeId - the kimTypeId that is associated with the attributes. Cannot be null or blank.
      originalAttributes - the old kim type attributes to use for validation. Cannot be null.
      newAttributes - the kim type attributes to validate. Cannot be null.
      Returns:
      an immutable list of RemotableAttributeError. Will not return null.
      Throws:
      IllegalArgumentException - if the kimTypeId is null or blank or the newAttributes or oldAttributes are null
      org.kuali.rice.core.api.exception.RiceIllegalArgumentException