/** * Roll back the transaction associated with the current session. * * TODO: Make sure AccessDeniedException is thrown by the transport * if corresponding problems occur * TODO: restore the in-memory state as it would be if save() was never * called during the transaction. The save() method will need to track some * undo information for this to be possible. * * @throws AccessDeniedException if the session is not allowed to * roll back the transaction. * @throws RepositoryException if the transaction implementation * encounters an unexpected error condition. */ public function rollbackTransaction() { $this->transport->rollbackTransaction(); $this->notifyItems('rollbackTransaction'); }