Interface ObjectRetriever<ItemType>

  • Type Parameters:
    ItemType -
    All Known Implementing Classes:
    BasicObjectRetriever

    public interface ObjectRetriever<ItemType>
    An interface allowing different implementations of object retrievers to be used with the abstract object iterator task model.

    By default, the task will use BasicObjectRetriever, which handles a variety of Sailpoint-friendly retrieval options.

    • Method Detail

      • getObjectIterator

        Iterator<ItemTypegetObjectIterator​(sailpoint.api.SailPointContext context,
                                             sailpoint.object.Attributes<String,​Object> arguments)
                                      throws sailpoint.tools.GeneralException
        Returns an iterator over the expected type.

        The objects returned by the iterator should be free of association with the top-level context, as they will be invoked by child contexts.

        Parameters:
        context - The context used to load the objects if needed
        arguments - The arguments to the retrieval
        Returns:
        An iterator over the desired objects
        Throws:
        sailpoint.tools.GeneralException - if retrieval fails for some reason
      • setTerminationRegistrar

        default void setTerminationRegistrar​(Consumer<Functions.GenericCallback> registar)
        A hook installer method allowing an object retriever and its calling class to handle termination events together.

        By default, this does nothing.

        The expected API dance is:

        1. The calling class invokes this method, passing its own custom consumer.
        2. The calling class invokes getObjectIterator().
        3. While retrieving objects, the object retriever may make one or more calls to the Consumer to register a termination handler.
        4. If the calling class is terminated, all handlers passed to the Consumer should be invoked.
        Parameters:
        registar - The registration hook, if any