Class ProjectModificationRequestedEvent

All Implemented Interfaces:
CancelableEvent, CancelState, Serializable

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

When this event is raised, the project's persisted state has not been updated, so ProjectEvent.getProject() matches the old values.

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

This event is internally audited at the CoverageLevel.BASE level.

See Also:
  • Constructor Details

    • ProjectModificationRequestedEvent

      public ProjectModificationRequestedEvent(@Nonnull Object source, @Nonnull Project oldValue, @Nonnull Project newValue, @Nonnull CancelState cancelState)
  • Method Details

    • cancel

      public void cancel(@Nonnull KeyedMessage message)
      Cancels project 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 project modification has already been canceled by another listener.
      Specified by:
      isCanceled in interface CancelState
      Returns:
      true if another listener has already canceled project modification; otherwise, false