Class RepositoryModificationRequestedEvent

All Implemented Interfaces:
CancelableEvent, CancelState, Serializable

public class RepositoryModificationRequestedEvent extends AbstractRepositoryModificationEvent implements CancelableEvent
Raised just before a repository is updated. This event is synchronous, allowing listeners to perform operations in the same database transaction where the repository will be updated.

When this event is raised, the repository's persisted state has not been updated, so RepositoryEvent.getRepository() matches the old values.

This event is cancelable. A listener may prevent the repository from being updated by canceling this event. Throwing an exception will not prevent the repository from being updated; the exception will be logged and ignored.

See Also:
  • Constructor Details

    • RepositoryModificationRequestedEvent

      public RepositoryModificationRequestedEvent(@Nonnull Object source, @Nonnull Repository oldValue, @Nonnull Repository newValue, @Nonnull CancelState cancelState)
  • Method Details

    • cancel

      public void cancel(@Nonnull KeyedMessage message)
      Cancels repository modification, providing a message explaining why.
      Specified by:
      cancel in interface CancelState
      Parameters:
      message - a descriptive message explaining why the operation has been canceled
    • isCanceled

      public boolean isCanceled()
      Retrieves a flag indicating whether repository modification has already been canceled by another listener.
      Specified by:
      isCanceled in interface CancelState
      Returns:
      true if another listener has already canceled repository modification; otherwise, false