Class SmartObjectPruner

  • All Implemented Interfaces:
    PrivateContextObjectConsumer<sailpoint.object.Reference>, sailpoint.object.BaseExecutor, sailpoint.object.TaskExecutor

    public class SmartObjectPruner
    extends AbstractThreadedTask<sailpoint.object.Reference>
    A class that can prune a subset of Sailpoint objects in a more granular way.

    The objects to prune can be supplied by a script or by a search filter. In the case of a filter, objects can be further narrowed by a post-selector script that can arbitrarily reject specific objects.

    All selectors are defined in a Configuration object.

    If a filter is used, the TimeTokenizer class allows for dynamic time based filtering (e.g. older than five days ago).

    • Method Detail

      • getObjectIterator

        protected Iterator<? extends sailpoint.object.Reference> getObjectIterator​(sailpoint.api.SailPointContext context,
                                                                                   sailpoint.object.Attributes<String,​Object> attributes)
                                                                            throws sailpoint.tools.GeneralException
        Gets the list of objects to prune
        Specified by:
        getObjectIterator in class AbstractThreadedTask<sailpoint.object.Reference>
        Parameters:
        context - The top-level task Sailpoint context
        attributes - The task arguments
        Returns:
        An iterator containing the objects to be iterated over
        Throws:
        sailpoint.tools.GeneralException - if any failures occur
      • threadExecute

        public Object threadExecute​(sailpoint.api.SailPointContext threadContext,
                                    Map<String,​Object> parameters,
                                    sailpoint.object.Reference ref)
                             throws sailpoint.tools.GeneralException
        Deletes the input
        Specified by:
        threadExecute in interface PrivateContextObjectConsumer<sailpoint.object.Reference>
        Specified by:
        threadExecute in class AbstractThreadedTask<sailpoint.object.Reference>
        Parameters:
        threadContext - A private IIQ context for the current JVM thread
        parameters - A set of default parameters suitable for a Rule or Script. In the default implementation, the object will be in this map as ‘object’.
        ref - The object to terminate in this thread
        Returns:
        always null
        Throws:
        sailpoint.tools.GeneralException - if a failure occurs deleting the object