A locking helper to track the active edit controller and ensure that only a single controller can be active at a time. This prevents a whole class of state and validation synchronization issues. An edit controller (such as SlickGrid) can query if an active edit is in progress and attempt a commit or cancel before proceeding.
Sets the specified edit controller as the active edit controller (acquire edit lock). If another edit controller is already active, and exception will be thrown.
edit controller acquiring the lock
Attempts to cancel the current edit by calling "cancelCurrentEdit" method on the active edit controller and returns whether the edit was successfully cancelled. If no edit controller is active, returns true.
boolean
Attempts to commit the current edit by calling "commitCurrentEdit" method on the active edit controller and returns whether the commit attempt was successful (commit may fail due to validation errors, etc.). Edit controller's "commitCurrentEdit" must return true if the commit has succeeded and false otherwise. If no edit controller is active, returns true.
boolean
Unsets the specified edit controller as the active edit controller (release edit lock). If the specified edit controller is not the active one, an exception will be thrown.
edit controller releasing the lock
Returns true if a specified edit controller is active (has the edit lock). If the parameter is not specified, returns true if any edit controller is active.
boolean