Determining the User Type

The getUserType() method is used to determine if a user is an external user.

/**
 * Return the type of the user. This is to allow support for
 * different types of external user. If there is only one
 * type of external user, simply return "EXTERNAL".
 *
 * @param identifier The identifier of the external user.
 *
 * @return The type of the external user.
 *
 * @throws AppException Generic Exception Signature.
 * @throws InformationalException Generic Exception Signature.
 */
 String getUserType(final String identifier)
   throws AppException, InformationalException;

The getProgramUserType() in curam.util.transaction.TransactionInfo will invoke this method to return the type of user if the user is not recognized as an internal user. For internal users "INTERNAL" is always returned.

For external users, there may be multiple types of external users, so this method should return the specific type of external user.