Interface UserVirtualAttributesModuleImplApi

All Superinterfaces:
AttributesModuleImplApi, UserAttributesModuleImplApi, VirtualAttributesModuleImplApi
All Known Implementing Classes:
urn_perun_user_attribute_def_virt_additionalIdentifiers, urn_perun_user_attribute_def_virt_alternativeLoginNames, urn_perun_user_attribute_def_virt_anonymized, urn_perun_user_attribute_def_virt_associatedUsersMails, urn_perun_user_attribute_def_virt_earliestActiveLastAccess, urn_perun_user_attribute_def_virt_eduPersonEntitlement, urn_perun_user_attribute_def_virt_eduPersonORCID, urn_perun_user_attribute_def_virt_eduPersonPrincipalNames, urn_perun_user_attribute_def_virt_eduPersonScopedAffiliations, urn_perun_user_attribute_def_virt_eIDASPersonIdentifiers, urn_perun_user_attribute_def_virt_epuids, urn_perun_user_attribute_def_virt_europeanStudentIDs, urn_perun_user_attribute_def_virt_forwardedVoPersonExternalAffiliation, urn_perun_user_attribute_def_virt_groupNames, urn_perun_user_attribute_def_virt_institutionsCountries, urn_perun_user_attribute_def_virt_kerberosLogins, urn_perun_user_attribute_def_virt_loa, urn_perun_user_attribute_def_virt_loaFenix, urn_perun_user_attribute_def_virt_login_namespace_bbmri_persistent, urn_perun_user_attribute_def_virt_login_namespace_bbmriid_persistent, urn_perun_user_attribute_def_virt_login_namespace_eduteams_acc_persistent, urn_perun_user_attribute_def_virt_login_namespace_eduteams_persistent, urn_perun_user_attribute_def_virt_login_namespace_einfraid_persistent, urn_perun_user_attribute_def_virt_login_namespace_elixir_persistent, urn_perun_user_attribute_def_virt_login_namespace_envriid_persistent, urn_perun_user_attribute_def_virt_login_namespace_eosc_federation_persistent, urn_perun_user_attribute_def_virt_login_namespace_erasmus_persistent, urn_perun_user_attribute_def_virt_login_namespace_erasmus_username, urn_perun_user_attribute_def_virt_login_namespace_eurofusion_persistent, urn_perun_user_attribute_def_virt_login_namespace_fenix_persistent, urn_perun_user_attribute_def_virt_login_namespace_geant_persistent, urn_perun_user_attribute_def_virt_login_namespace_lifescienceid_persistent, urn_perun_user_attribute_def_virt_login_namespace_myaccessid_persistent, urn_perun_user_attribute_def_virt_login_namespace_researcher_access_persistent, urn_perun_user_attribute_def_virt_login_namespace_surf_ram_persistent, urn_perun_user_attribute_def_virt_login_namespace_umbrellaid_persistent, urn_perun_user_attribute_def_virt_logins_namespace_google, urn_perun_user_attribute_def_virt_mails_namespace_google, urn_perun_user_attribute_def_virt_mails_namespace_microsoft, urn_perun_user_attribute_def_virt_mfaStatus, urn_perun_user_attribute_def_virt_optional_login_namespace, urn_perun_user_attribute_def_virt_optional_login_namespace_mu, urn_perun_user_attribute_def_virt_organizationsWithLoa, urn_perun_user_attribute_def_virt_preferredPhone, urn_perun_user_attribute_def_virt_schacHomeOrganizations, urn_perun_user_attribute_def_virt_schacPersonalUniqueCodes, urn_perun_user_attribute_def_virt_scopedLogin_namespace_mu, urn_perun_user_attribute_def_virt_shibbolethExtSources, urn_perun_user_attribute_def_virt_sponsoredMembershipInOrganizations, urn_perun_user_attribute_def_virt_studentIdentifiers, urn_perun_user_attribute_def_virt_tcsMails_mu, urn_perun_user_attribute_def_virt_unscopedLogin_namespace, urn_perun_user_attribute_def_virt_unscopedLogin_namespace_einfraid_persistent_shadow, urn_perun_user_attribute_def_virt_userCertDNs, urn_perun_user_attribute_def_virt_userCertExpirations, urn_perun_user_attribute_def_virt_userCertificatesLimited, urn_perun_user_attribute_def_virt_userEligibilities, urn_perun_user_attribute_def_virt_userOrganizations, urn_perun_user_attribute_def_virt_vomsDiracNickname, urn_perun_user_attribute_def_virt_voPersonExternalAffiliation, UserVirtualAttributeCollectedFromUserExtSource, UserVirtualAttributesModuleAbstract

public interface UserVirtualAttributesModuleImplApi extends UserAttributesModuleImplApi, VirtualAttributesModuleImplApi
This interface serves as a template for virtual attributes.
Author:
Michal Prochazka <michalp@ics.muni.cz>, Slavek Licehammer <glory@ics.muni.cz>
  • Method Details

    • getAttributeValue

      Attribute getAttributeValue(PerunSessionImpl perunSession, User user, AttributeDefinition attribute)
      This method will return computed value.
      Parameters:
      perunSession - perun session
      user - user which is needed for computing the value
      attribute - attribute to operate on
      Returns:
      Throws:
      InternalErrorException - if an exception is raised in particular implementation, the exception is wrapped in InternalErrorException
    • removeAttributeValue

      void removeAttributeValue(PerunSessionImpl perunSession, User user, AttributeDefinition attribute)
      Currently do nothing.
      Parameters:
      perunSession -
      user - user which is needed for computing the value
      attribute - attribute to operate on
    • searchInAttributesValues

      List<User> searchInAttributesValues(PerunSessionImpl perunSession, String attribute)
      Method searches all users, who have attribute with the given value. The rules of the match are dependent on the type of the attribute:
      String match in substring
      List match in one item
      Map match in key or value
      Parameters:
      perunSession - perun session
      attribute - attribute with value, which all returned users have to have
      Returns:
      all users, who have attribute with given value
      Throws:
      InternalErrorException - if an exception is raised in particular implementation, the exception is wrapped in InternalErrorException
    • setAttributeValue

      boolean setAttributeValue(PerunSessionImpl perunSession, User user, Attribute attribute)
      Method sets attributes' values which are dependent on this virtual attribute.
      Parameters:
      perunSession -
      user - user which is needed for computing the value
      attribute - attribute to operate on
      Returns:
      true if attribute was really changed