Interface RemoteDataFetcher


  • public interface RemoteDataFetcher
    Responsible for retrieving the data from the remote source (such as LDAP).

    The clients expect the data to be up-to-date, which means that no fetch methods should cache the previous results.

    Also fetch methods are expected to handle I/O and other errors by itself rather than throwing it out. In case of the error, null should be returned.

    Since:
    8.0
    Author:
    Maxim Podkolzine (maxim.podkolzine@jetbrains.com)
    • Method Detail

      • fetchAllRemoteData

        @Nullable
        RemoteData fetchAllRemoteData​(@NotNull
                                      RemoteDataFetcherOptions options)
        Fetches and returns the remote data provided the options to fetch. Method doesn't cache any results (hence can be slow, but always up-to-date) and doesn't throw.
        Parameters:
        options - the options
        Returns:
        remote data, if it exists and can be fetched, or null
      • fetchRemoteUserData

        @Nullable
        RemoteUserData fetchRemoteUserData​(@NotNull
                                           SUser user)
        Fetches and returns the remote data for the specified user. Method doesn't cache any results (hence can be slow, but always up-to-date) and doesn't throw.
        Parameters:
        user - the user
        Returns:
        remote data, if it exists and can be fetched, or null
      • fetchRemoteGroupData

        @Nullable
        RemoteGroupData fetchRemoteGroupData​(@NotNull
                                             SUserGroup userGroup)
        Fetches and returns the remote data for the specified user group. Method doesn't cache any results (hence can be slow, but always up-to-date) and doesn't throw.
        Parameters:
        userGroup - the user group
        Returns:
        remote data, if it exists and can be fetched, or null