Class BulkLifeCycleChangeListener

java.lang.Object
org.nuxeo.ecm.core.lifecycle.event.BulkLifeCycleChangeListener
All Implemented Interfaces:
PostCommitEventListener

public class BulkLifeCycleChangeListener extends Object implements PostCommitEventListener
Listener for life cycle change events.

If event occurs on a folder, it will recurse on children to perform the same transition if possible.

If the transition event is about marking documents as "deleted", and a child cannot perform the transition, it will be removed.

Undelete transitions are not processed, but this listener instead looks for a specific documentUndeleted event. This is because we want to undelete documents (parents) under which we don't want to recurse.

Reinit document copy lifeCycle (BulkLifeCycleChangeListener is bound to the event documentCreatedByCopy)

  • Field Details

    • PAGINATE_GET_CHILDREN_PROPERTY

      public static final String PAGINATE_GET_CHILDREN_PROPERTY
      Since:
      8.10-HF05 9.2
      See Also:
    • GET_CHILDREN_PAGE_SIZE_PROPERTY

      public static final String GET_CHILDREN_PAGE_SIZE_PROPERTY
      Since:
      8.10-HF05 9.2
      See Also:
  • Constructor Details

    • BulkLifeCycleChangeListener

      public BulkLifeCycleChangeListener()
  • Method Details

    • handleEvent

      public void handleEvent(EventBundle events)
      Description copied from interface: PostCommitEventListener
      Handles the set of events that were raised during the life of an user operation.

      The events are fired as a BundleEvent after the transaction is committed.

      Specified by:
      handleEvent in interface PostCommitEventListener
      Parameters:
      events - the events to handle
    • processTransition

      protected void processTransition(Event event)
    • reinitDocumentsLifeCyle

      protected void reinitDocumentsLifeCyle(CoreSession documentManager, DocumentModelList docs)
    • isNonRecursiveTransition

      protected boolean isNonRecursiveTransition(String transition, String type)
    • changeChildrenState

      protected void changeChildrenState(CoreSession session, String transition, String targetState, DocumentModel doc)
      Since:
      9.2
    • changeDocumentsState

      protected void changeDocumentsState(CoreSession session, String transition, String targetState, DocumentModelList docs)
      Change doc state. Don't recurse on children as following transition trigger an event which will be handled by this listener.
      Since:
      9.2