Class StandardLockService
- All Implemented Interfaces:
Serializable,wt.fc._NetFactor,NetFactor,LockService,wt.services.Manager
As defined by the standard locking service's access control rules, when attempting to lock an object if it is not already locked and the given principal has modify access to the object then it is locked. When attempting to unlock an object if it is already locked and the given principal has administrative access, or is the given principal is the one who originally placed the lock and has modify access to the object then it is unlocked. Otherwise, an exception is thrown indicating the failure. Additionally, when a lock is placed on an object by a principal, that user or group is the only agency able to then modify the object while it's in a locked state.
Event-based processing is performed on business objects asserted as being lockable during [preparation for] database modifications and full restorations. When a business object is [prepared for] being modified in the database this class listens to a dispatched event indicating that the modify is about to commence and vetoes it if the business object is locked and the current session's principal is not the one who originally placed the lock. Otherwise, the modification is allowed to take place. So it is valid to modify a business object that's lockable if it isn't locked. When a business object is being fully restored from the database this class listens to a dispatched event indicating that the full restoration is commencing and restores the lock cookie's locker reference.
If the standard implementation is not desired then a custom implementation can extend from LockService alongside the standard implementation, and be used as the default locking service.
Use the newStandardLockService static factory method(s),
not the StandardLockService constructor, to construct instances
of this class. Instances must be constructed using the static factory(s),
in order to ensure proper initialization of the instance.
Supported API: true
Extendable: false
- See Also:
-
StandardManagerLockServiceEventwt.fc.PersistenceManagerEvent.PREPARE_FOR_MODIFICATIONwt.fc.PersistenceManagerEvent.PRE_MODIFY- Serialized Form
-
Method Summary
Methods inherited from class wt.services.StandardManager
getManagerService, getManagerStatus, getName, getStartupType, initialize, performShutdownProcess